下面关于arm+linux平台开发的准备,是针对开发人员来讲的。 一、硬件开发的准备 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、学习理解能力强。 以上是我个人得出的做arm+linux平台开发所需要的基础和前提,可能存在错误或遗漏。请大家发表看法。 我把它分成三个方面。硬件、驱动、应用程序开发。如果三个方面都能做,那肯定是全才。由于做arm+linux开发牵涉的方方面面太多,所以进入门槛相对单片机开发要高。一旦熟悉了开发流程,也不是想象的那样困难。
|