买到了JZ2440之后,就开始了学习嵌入式Linux的“旅途”。
开始学习JZ2440,第一件事情就是先认识一下这款开发板,都有什么资源可以利用,有什么接口都分布在什么地方等等。下面是这款开发板的主要参数:
CPU:S3C2440A-40 400MHz主频,ARM 920T内核
LCD:Hitachi 4.3寸触摸屏LCD
闪存:256M NAND FLASH,8bit宽度
内存:64M SDRAM,133MHz,32bit宽度(两片组成)
网络:100Mbps低功耗嵌入式专用以太网网络芯片DM9000A,接口为标准RJ45插座
串口:3路串口,两路带握手信号,可接调制解调器或者GPRS。
IRDA:用户可以自行安装,标准配置没有焊接。和COM3共用
摄像头接口:预留20pin插座,方便用户连接数字摄像头
音频接口:WM8976芯片,带3.5寸麦克风、耳机接口
USB HOST:1个USB HOST接口,USB FULL SPEED。可外接HUB扩展
USB DEVICE:1路USB DEVICE接口,USB FULL SPEED
MICROSD卡接口:支持MICROSD/TF存储卡,最高可达32G
总线扩展:通过96针高可靠欧式插座提供外部扩展,32*3排列,集成总线和其他可能用到的信号。外部总线通过高速双向缓冲器隔离。
下图是开发板的接口分布图:
从上面的内容可以看出,开发板的处理器虽然比较老,但是就是因为老才有成熟的资料支撑。板子的开发资源也足够学习使用了。
第二件事情自然就是搭建开发环境了。韦东山老师视频中采用的方式是通过Win+虚拟机安装Linux+开发板的模式进行开发,我直接在电脑上安装了双系统,完全使用纯Linux进行开发,这样的好处就是省去了很多工作,不用来回的切换,而且我目前在Linux下进行开发也没有遇到什么不方便的事情。有人说Win下的图形界面更加友好一些,但是搞Linux开发就不能抵触命令行,所以从一开始就去适应他,我觉着是意见蛮好的事情。
首先就是在Win下压缩一个空盘出来,注意,压缩出来不要格式化,要让他处在未使用状态,然后下载一个Ubuntu的安装镜像,我是使用的Ubunt14长期支持版本,然后使用UltraISO做一个启动U盘,重启电脑后选择U盘起动就可以开始安装了,选择与Win并存的方式就会自动安装启动双引导项做成双系统模式。安装了Ubuntu系统以后,就要安装一些必要的工具还有Lib,比如g++还有基本库。
在Linux下面可以通过Vim进行编译代码,也可以通过图形界面的gedit进行编译代码。串口工具就用minicom,虽然是不是图形界面的,但是一个串口工具,能够完成基本的收发功能不就足够了吗,有的工具确实是非常强悍,但是我们所使用的功能也不就是其中的一小部分嘛,没必要因为它强悍就花费大量的时间去搞一个软件,把这些时间花费在看代码写代码上面不是更好的吗?下载工具dnw也有Linux版本,所以我一般开发的时候,开着一个终端运行minicom,开着一个终端输入命令,比如dnw之类的,开着gedit就行代码编译。就这三个部分就足够了。当然了,你得首先找到一种途径,把U-Boot下载到开发板上去,然后后面的下载工作都可以通过U-Boot进行,所以至今为止我就用过一次JLink,因为比较穷,那个OpenJTAG更是不愿意去买了。
第三件事情就是学习怎么烧写U-Boot,后面的烧写工作都是通过他完成的,配套光盘中有一个文档专门介绍烧写程序,里面有几种烧写U-Boot的方法,当然了,要根据你的下载器选择相应的方式,我的是JLink,所以是用的JFlash下载,几步操作就可以了。后面就学习怎么通过U-Boot烧写其他的程序:开机以后,按任意键,就可以进入U-Boot的一个菜单,然后根据菜单内容选择不同的下载方式,功能还是很全面强大的。
因为这次有全面系统的教程,所以初步准备工作还是很顺利的,没有遇到很大的难题,顺利的就把整个开发环境搭建好了。通过纯粹的Linux开发确实够纯粹的,但是Win下也有一些软件工具,比如分析代码的SourceInsight,但是可以做成双系统嘛,分析代码的时候,还是用图形界面可能会方便一些,哈哈,这个我还没走到这一步,所以不好说什么。