摘要:
通常,我们一般使用flash来保存一些上次保存的数据,这样下次开机后读取改flash处的变量即可读回上次配置或上次最后的数据值,但是keil其实有另外的方式来保存数据,且看下文分解。 一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位 阅读全文
posted @ 2019-12-30 17:17
wdliming
阅读(1484)
评论(0)
推荐(0)
摘要:
思路: 常把单片机系统的复位分为冷启动和热启动。所谓冷启动,也就是一般所说的上电复位,冷启动后片内外RAM的内容是随机的;单片机的热启动是通过外部电路给运行中的单片机的复位端一复位电平而实现的,也就是所说的按键复位或看门狗复位。复位后,RAM的内容都没有改变。在某些场合,必须区分出设备的重启是热重启 阅读全文
posted @ 2019-12-30 17:08
wdliming
阅读(1850)
评论(0)
推荐(0)
摘要:
使用mdk编程,假如有一个有用的函数你定义了但是没有显式的调用,mdk在默认方式下,将会把这个函数从整个程序总删除掉,以节省ROM. 比如,你在ROM的0x00002000处定位了一个函数,假设为void test(void),然后使用函数指针来调用它: void (*UserProgram)(); 阅读全文
posted @ 2019-12-30 17:01
wdliming
阅读(1741)
评论(0)
推荐(0)
摘要:
目前keil mdk已经更新到5.29,很多新的功能,可以尝试,体验。公司项目可以使用老的编译器,自己玩玩可以谭毅新的版本的keil。 我做嵌入式行业,编程也多和硬件打交道,好多人说编译器只是工具,重要的在于算法和思想。这话说的本来没错,但要有一个条件在先:那就是你真正掌握了你所用的编译器。但就我来 阅读全文
posted @ 2019-12-30 16:37
wdliming
阅读(1240)
评论(0)
推荐(0)
摘要:
1、默认情况下,keil和iar都是认为char是unsigned char,可以通过设置去更改的。 2、赋初值的全局变量和静态变量,对于在程序中赋初值的全局变量和静态变量,程序编译后,MDK将这些初值放到Flash中,紧靠在可执行代码的后面。在程序进入main函数前,会运行一段库代码,将这部分数据 阅读全文
posted @ 2019-12-30 13:37
wdliming
阅读(571)
评论(0)
推荐(0)

浙公网安备 33010602011771号