前几天写了心得交流1,清明了,闲了,继续写心得2。不知道自学嵌入式的朋友有没有相关计算机知识,比如微机原理、单片机、计算机组成原理、操作系统、计算机网络、C语言等等基础知识。没有的朋友先学习点基础知识吧。
一开始我先按照mini2440的说明手册做了相关实验(一些带有娱乐性质的验证性实验就跳过了,如何用现成的AD软件模拟AD转换,实验课上见过啦),基本的烧写步骤得会,以后裸机代码常常要烧写到SDRAM里测试的。对了,这里提一句,各种RAM,ROM,FLASH的区别最好知道一下,本人学习中感觉对某些存储器术语有点混淆,NOR Flash(跟PC的CMOS一样,可以存储关键程序代码)里的bootloader最后不要先改写,要是改坏了,身边有没有官方的bootloader就麻烦了,意味着你将不能进行下面几乎所有的开发了。下面开始说裸板程序,汇编程序:mini2440的start.s文件里无非是1、设置中断向量的跳转地址 2、关看门狗 3、关中断 4、初始化时钟 5、初始化栈 6、跳转到C语言程序。OK,C语言文件的内容就看要实现的功能的。由于我写的裸板程序直接启动好的开发板(即NOR FLASH上的bootloader已经运行了)上SDRAM上运行的,所以不像韦老师那样有一段把程序从steppingstone拷贝到SDRAM的代码了,我的没有,也不需要写。有关的裸板程序的调试,要用到JLINK之类的符合JTAG标准的仿真器,不然程序一会一下子run完了,不能说停就停的执行了。如果同学想玩硬件程序的,干脆早点买JLINK吧,60左右搞定,就是注意板子JTAG接口和JLINK的JTAG接口要不要转接板的转接,反正我的mini2440要转接板,大口转小口啦。写裸板程序时一定要细细的看芯片的数据手册,但也不用从头到尾的全看,到最后学不到什么,用哪个部件就看哪个部件(数据手册全英文,又可以锻炼英文阅读的能力了)。这次先写这么多了,调试驱动程序去啦。有什么不对或是不完善的希望朋友指出,感激不尽!