问题一:器件与代码选型不一致
1.Options设置
编译结果:
2.Options设置
编译结果:
查找相关文件即可。
3.Options设置
更换Device;
知识点:
Big endian machine: It thinksthe first byte it reads is the biggest.
Little endian machine: It thinks the first byte itreads is the littlest.
举个例子,从内存地址0x0000开始有以下数据
0x00000x12
0x00010x34
0x00020xab
0x00030xcd
如果我们去读取一个地址为0x0000的四个字节变量,若字节序为big-endian,则读出
结果为0x1234abcd;若字节序位little-endian,则读出结果为0xcdab3412.
如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为
big-endianlittle-endian
0x00000x120xcd
0x00010x230xab
0x00020xab0x34
0x00030xcd0x12
x86系列CPU都是little-endian的字节序.
问题二:库文件路径设置
1.配置1:
文件实际路径:
2.配置2:
文件实际路径:
配置说明:
1)$TOOLKIT_DIR$\INC\:表示开发工具系统目录,即:C:\Program Files\IAR Systems\Embedded Workbench 4.0 Kickstart\arm;
2)$PROJ_DIR$\:表示用户程序系统目录,即*.ewp文件所在目录;
3)配置1中,*.ewp路径为:D:\PLAY\Practise_STM32\Project,作为“$PROJ_DIR$\”的值;
*.lib路劲为:D:\PLAY\Practise_STM32\library\inc, 作为“$PROJ_DIR$\..\ library\inc”的值;其中“\..\”表示:往上一目录退一层;
配置2中,*.ewp路径为:D:\PLAY\USART\Example1,作为“$PROJ_DIR$\”的值;
*.lib路劲为:D:\PLAY\USART\Example1\library\inc,作为“$PROJ_DIR$\library\inc\”的值,同层;
问题三:编译错误
提示:Fatal Error[e72]:Segment IRQ_STACK must be defined in a segment definition option (-Z, -b or -P)
解决:低级错误,没有设置元件型号!