又是好久没来写些东西了。不是我懒啊,实在是最近可写的不是很多,呵呵。
正是因为看了些关于学习linux + arm的经验,发现arm最好能够当做单片机来学习下。所以嘛,前段时间一直忙着读那本经典的《ARM体系结构与编程》。这两天感觉理论基础学了不少,需要实践了,所以在44b0开发板配套的光盘里面找到了两个程序,一个是LEDtest,另一个是test(强大的无所不能的test程序啊)。这两个程序用Code Warrior编了下,除了稍微一点波折,竟然能在板子上跑了:没有什么能比在板子上看到程序的效果更让人激动的了!然后用ARM7调试代理及ADS调试,竟然也很顺利的通过了。于是燃起了我的学习热情,呵呵,一口气把视频教程关于44b0IO管脚及内部寄存器配置、硬件结构介绍、开发板电路及初始化文件44Binit.S详细分析给听完了。这些视频之前也听过吧,但是没有这么透彻过。可见《ARM体系结构与编程》的帮助还是相当大的啊。
接下来很想乘胜追击啊:
1) 44b0开发板配套的光盘里面还有很多arm的测试程序,但是这些都是其他开发板上的,可以试着把他们移植到我的开发板上跑跑看。相信以现有的44Binit.S,配上这些新的test程序,移植起来还是没那么麻烦的。(对这些程序的结果还是很期待哦。)
没有操作系统的情况下,在arm上这些程序都没问题的话,那今后开发驱动的时候就更多的关注在操作系统上面了。之前也正是因为对arm的不熟悉,导致了对驱动开发的学习的停滞不前。现在这一课既然补了就好好补补。
2) 把44b0的bootloader的源代码的视频讲解听一下。这部分也很重要啊。
下面是我手头的一些实验,还是比较多的,相信把这些都搞懂并移植到自己的开发板上,对ARM编程就比较熟悉了。
1、实验一:Helloworld
描述:连接PC机串口,观察超级终端输出
2、实验二:flash ROM 擦除写入测试
描述:对SST39VF160进行擦除和写入操作
3、实验三:SDRAM 读写测试
描述:对SDRAM进行操作
4、实验四:Nand-flash 读写测试
描述:对Nand-flash 进行读写操作
5、实验五:I/O应用测试
描述:矩阵键盘扫描读入
6、实验六:外部中断应用测试
描述:编写中断处理程序
7、实验七:异步串行口(UART)应用测试
描述:UART数据收发程序
8、实验八:定时器应用测试
描述:定时器终端、PWM功能应用
9、实验九:实时时钟(RTC)应用测试
描述:设置和读出实时时钟的当前时间。
另有:定时告警中断和节拍中断应用程序。
10、实验十:彩色LCD应用实验
描述:基本的显示绘图操作
11、实验十一:IIC接口应用测试(AT24C04)
描述:读写IIC接口EEPROM
12、实验十二:A/D转换器应用
描述:通过A/D转换器读入模拟信号伏值
13、实验十三:触摸屏应用
描述:扫描读入触摸屏上的输入点坐标
14、实验十四:USB接口应用实验
描述:从USB接口接收自PC机发送的文本文件
15、实验十五:以太网接口应用
描述:初始化以太网卡
16、实验十六:uC/OS-II基本应用
描述:在操作系统基础上编写任务
17、实验十七:uC/OS-II应用之二
描述:利用消息队列发送消息
18、实验十八:uC/OS-II应用之三
描述:中断处理程序的编写
19、实验十九:GUI基础应用
描述:了解GUI的基本应用
20、实验二十:GUI绘图和文字
描述:利用GUI提供的API函数绘制图形和文字
21、实验二十一:在GUI中应用汉字库
描述:利用GUI提供的API函数绘制汉字
22、实验二十二:绘制对话框和控件
描述:利用GUI提供的API函数绘制各种窗体控件
23、实验二十三:绘制动画
描述:利用GUI提供的API函数绘制动态图像
24、实验二十四:FAT16文件系统的移植与应用
描述:对Nandflash进行格式化,完成文件系统初
始化,并利用FAT16提供的API函数进行文件操作。
另有:flash_tools,观察nandflash扇区内容的工具
25、实验二十五:TCP/IP协议栈——ARP协议yingyong
描述:编程实现ARP地址扫描器
26、实验二十六:TCP/IP协议栈——IP和ICMP的应用
描述:实现标准的Ping诊断工具。
27、实验二十七:TCP/IP协议栈——UDP的应用
描述:实现UDP数据传输(回送)。
28、USBN9603demo