完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、2012.4.12: IAR C编译器中如何选择才能不初始化片内RAM
程序复位不清除变量值 用__no_init 实现:__no_init 是一个SEGMENT,是给LINKER用的,定义到不初始化的块中去。 __no_init用于禁止系统启动时的变量初始化,什么情况下需要用这个关键字使系统禁止变量的初始化,禁止变量初始化用在什么场合,为什么要这样做,有什么意义吗? 1、看门狗复位的现场恢复,如果初始化了就完全不可恢复了 2、使用nvram保存数据,需要连续记录的。 给一简单的程序,例如你做一个时钟,不希望在狗复位时丢失时间,可如此定义 __no_init unsigned char month,day,hour,minute,second; 配置IAR时遇到的一些问题 问题一:器件与代码选型不一致 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开始有以下数据 0x0000 0x12 0x0001 0x34 0x0002 0xab 0x0003 0xcd 如果我们去读取一个地址为0x0000的四个字节变量,若字节序为big-endian,则读出 结果为0x1234abcd;若字节序位little-endian,则读出结果为0xcdab3412. 如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为 big-endian little-endian 0x0000 0x12 0xcd 0x0001 0x23 0xab 0x0002 0xab 0x34 0x0003 0xcd 0x12 x86系列CPU都是little-endian的字节序. 问题二:库文件路径设置 1. 配置1: 文件实际路径: 2. 配置2: 文件实际路径: 配置说明: 1)$TOOLKIT_DIR$INC:表示开发工具系统目录,即:C:Program FilesIAR SystemsEmbedded Workbench 4.0 Kickstartarm; 2)$PROJ_DIR$:表示用户程序系统目录,即*.ewp文件所在目录; 3)配置1中,*.ewp路径为:D:PLAYPractise_STM32Project,作为“$PROJ_DIR$”的值; *.lib路劲为:D:PLAYPractise_STM32libraryinc, 作为“$PROJ_DIR$.. libraryinc”的值;其中“..”表示:往上一目录退一层; 配置2中,*.ewp路径为:D:PLAYUSARTExample1,作为“$PROJ_DIR$”的值; *.lib路劲为:D:PLAYUSARTExample1libraryinc,作为“$PROJ_DIR$libraryinc”的值,同层; 问题三:编译错误 提示:Fatal Error[e72]:Segment IRQ_STACK must be defined in a segment definition option (-Z, -b or -P) 解决:低级错误,没有设置元件型号! |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
633 浏览 0 评论
3336 浏览 9 评论
3013 浏览 16 评论
3506 浏览 1 评论
9098 浏览 16 评论
1216浏览 3评论
631浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
619浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2361浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1926浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 13:37 , Processed in 0.980873 second(s), Total 46, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号