文本内容:
第二章基准工程
一、为什么要对Keil进行软件标准化设置?Keil是单片机的一款开发环境,分为不同的版本分别对应不同阶段的单片机主流的就是51单片机和STM32单片机一般来说,51单片机和STM3单片机的Keil版本不能共用,也就是一个keil不能同时编译51和STM32单片机的程序
二、GD32E2杏仁派开发板上的主控芯片型号是什么该芯片的内部Flash和内部SRAM的大小分别是多少?开发板主控芯片为GD32E230C8T6,该芯片为48引脚LQFP封装,配备了64KB Flash及8KBSRAMo三在创建基准工程时使用了宏定义GD32E230,该宏定义的作用是什么?微控制器的固件库具有非常强的兼容性,通过宏定义就可以区分使用在不同型号的微控制器,而且可以通过宏定义选择是否使用标准库四在创建基准工程时,为什么要勾选Use MicroLIB项?为了方便调试,本书在很多地方都使用了printf语在Keil中使用printf语句,需要勾选Use MicroLIB项
五、在创建基准工程时,为什么要勾选Create HEXFi Ie项?通过GD-Link既可以下载hex文件,也可以下.axf文件到GD32微控制器的内部FlashKeil默认编译时不生成hex文件,如果需要生成hex文件,则需要勾选Create HEXFile项六查找资料,总结hex、.bin和axf文件的区别
1.Bin文件Bin文件是最纯粹的二进制机器代码,或者说是〃顺序格式〃按照assembly code顺序翻译成binary machinecode,内部没有地址标记Bin是直接的内存映象表示,二进制文件大小即为文件所包含的数据的实际大小Bin文件就是直接的二进制文件,一般用编程器烧写时从00开始,而如果下载运行,则下载到编译时的地址即可可以直接在裸机上运行
2.Hex文件Intel hex文件常用来保存单片机或其他处理器的目标程序代码它保存物理程序存储区中的目标代码映象一般的编程器都支持这种格式就是机器代码的十六进制形式,并且是用一定文件格式的ASCII码来表示
3.axf文件Axf文件由ARM编译器产生,除了包含bin的内容之外,还附加其他调试信息,这些调试信息加在可执行的二进制数据之前调试时这些调试信息不会下载到RAM中,真正下载到RAM中的信息仅仅是可执行代码因此,如果ram的大小小于axf文件的大小,程序是完全有可能在ram中调试的,只要axf除去调试信息后文件大小小于ram的大小即可如果ram的大小小于axf文件的大小,程序是完全有可能在ram中调试的,只要axf除去调试信息后文件大小小于ram的大小即可。