本帖最后由 wangqy_ic 于 2011-12-28 20:03 编辑
大家现在写程序,是不是都是用新唐提供的函数库?在体验开发板的一开始,我也是使用函数库,毕竟这个太方便了。
可是有一天,我发现一个只使用时钟和IO以及调试串口的程序居然查过了16k的时候,我震惊了!!!天啊,这么一个简单的功能,需要这么多的程序空间吗???
抱着怀疑的态度,我读了新唐提供的库。看完后,一个字:大!这个大是指功能全,副作用就是代码太多了,生成的程序代码当然就小不下来。
我把学51的精神拿出来了,我自己写驱动!
我知道这个过程是非常漫长,也是非常无趣的,但是这个工程绝对是学习芯片的最佳途径!
书接上文,我这开始写的驱动是RTC、串口、按键和LED驱动。
代码就不贴了,我的注释也写的比较全。直接上代码吧。
下面这行是KEIL编译后的代码统计:
Program Size: Code=3340 RO-data=224 RW-data=104 ZI-data=1120
看到了吗,Code=3340,这个与使用函数库可不是一个数量级的。
这个只是一个开始,我的目标是把日常使用的外设驱动都写完。
附件是这个keil的工程,是 4.22版本的Keil。
最后,新年到了祝各位网友新年快乐……
ps:可能有网友会提出这样的工作没有实际的意义,其实我觉得,如果是一个公司或这团体,完善自己的驱动库,才是王道啊!而且这样的积累,当形成量以后,绝对是好东西!!! |