全部博文(395)
分类: 嵌入式
2013-01-23 21:06:25
弄了好几星期了(中间还得上班),终于win7下运行ads1.2不会再出现问题了,这几天参考着《ARM处理器裸机开发实战-机制而非策略》着手运行第一个实验ledtest,在参考
http://blog.csdn.net/long434811/article/details/8461428博文的基础上,终于在开发板上成功点亮了led灯,圆了我进1年的梦。
下面先把上面链接的博文粘贴出来,然后附加上修改过后的代码(因为《ARM处理器裸机开发实战-机制而非策略》光盘中的第一个实验代码有问题):
刚上来就被第一个ledtest实验困住了,先是书里给的例程编译出错,解决错误之后烧到nandflash里又不能正常亮灯,断断续续搞了几天才发现问题,记录一下
1,编译错误的问题,主要是两个错误(1)extern void rLB_ReadPage(U32 addr, unsigned char * to) ;这句直接注释掉或者把U32直接写出unsigned int
(2)extern void NF_WritePage(unsigned int page, unsigned char *buffer) ;这句少了一个参数,需要改成extern void NF_WritePage(unsigned int block,unsigned int page, unsigned char *buffer) ;这两句改完之后错误就没有了,还有几个警告不用理会,可能改完之后编译还好告诉你有错,这时只要执行一下Project——Remove Object Code然后在编译一下就可以了
2,改好之后烧到板子里不能正常亮灯,这个问题搞了好久,最后在论坛里发现了答案,我的nandflash型号和例程里的不一样,我的是K9F2G08UMB,例程里用了K9F1208UOM,只要到nand.h文件中把K9F1208UOM那段注释掉,同时把这段下面的关于K9F2G08UMB的那段注释放开就可以了,重新编译烧写之后,问题解决
通过这篇博文,我发现我的nandflash也是这个型号:K9F2G08UMB(应该最新买到的开发板都是这个型号)
下面附加源码包:ledtest.zip