一、硬件开发的准备
1、单片机知识基础或者是计算机原理基础。
2、数字电路、模拟电路基础。
3、熟悉arm7、arm9原理。
4、会一到两种EDA软件(如PROTEL 99SE、POWERPCB等)。
5、对SDRAM、NAND FLASH、NOR FLASH、串口、USB、网络、液晶显示等硬件控制及读写原理比较了解。当然有的人不了解这些原理,而通过借鉴别人的设计也能设计出来。只是知其然,不知其所以然而已。
6、学习理解能力较强。
如果有上面这些基础,那么你就能够对arm应用的硬件做开发设计了。
二、bootloader、Linux、文件系统移植及底层驱动开发的准备
1、单片机知识基础或者是计算机原理基础。
2、数字电路、模拟电路基础。
3、具备C、C++、汇编语言基础。
4、熟悉arm7、arm9原理。
5、熟悉bootloader、Linux内核、Linux文件系统的原理、配置、编译以及驱动程序的编写及加载过程。
6、对SDRAM、NAND FLASH、NOR FLASH、串口、USB、网络、液晶显示等硬件控制及读写原理非常了解。
7、学习理解能力强。
三、Linux应用程序开发的准备
1、熟悉Linux操作系统的工作原理、机制,熟悉进程、线程机制。
2、具备c、c++语言基础。
3、有的涉及串口、usb、网络、数据库编程,那么就需要有相应的基础。
4、学习理解能力强。