目标系统的内核头文件
开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码,这种二进制代码不能在宿主机上运行,只能在目标板上运行。然后把可执行文件下载到目标机上运行。调试时可以使用串口、以太网口等等,具体可根据实际情况和目标机处理器提供的功能选择。
本系统使用的是交叉编译工具是mx27-mdk-toolchain.tgz。
建立交叉编译环境步骤如下:
1. 安装Toolchain
创建/opt/freescale/usr/local的目录,打开这个目录,命令如下
#cd /opt/freescale/usr/local
2. 复制mx27-mdk-toolchain.tgz到这个目录下,命令如下
#cp ~/mx27-mdk-toolchain.tgz
3. 解压Toolchain,命令如下
#tar -xzvf mx27-mdk-toolchain.tgz
解压完成后,toolchain安装在/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/bin目录下
4. 设置编译路径,命令如下
#export PATH=/opt/freescale/usr/local/gcc-4.1.1-glibc-2.4-nptl-sf-1/arm-926ejs-linux/bin:$PATH
3.2.3 Bootloader的移植
对于计算机系统来说,从开机上电到操作系统启动需要一个引导过程。嵌入式Linux系统同样离不开引导程序,这个引导程序就叫做Bootloader。
1. 编译Bootloader
(1)打开working的目录并解压Bootloader的源代码,命令如下
#cd ~/working
#cp ~/mx27-mdk-nandboot.tgz
#tar -zxvf mx27-mdk-nandboot.tgz
(2)移植Bootloader,命令如下
#cd nandboot
#make PLATFORM=IMX27MDK27V0 CROSS_COMPILE=arm-926ejs-linux-
编译好的Bootloader二进制代码为IMX27MDK27V0_nb_iplspl.bin。改文件在nandboot/bin/目录下,可直接被ATK Tool烧写到Nand Flash中。此编译过程同时会产生工具crcgen ,改工具今后会被使用,用来产生可以被烧写到Nand Flash中去的kernel image。改工具也在nandboot/bin/中。
2. 烧写Bootloader
Bootloader是通过ATK Tool(ADS Tool Kit)来烧写到Nand Flash的起始地址去的。第一次使用开发板之前必须先烧写Bootloader。按照以下步骤来烧写Bootloader。
(1)安装ADS Tool Kit
安装ATK Tool到Windows操作系统。用串口线连接主机和MDK。
(2)下载Bootloader
将MX27的启动模式设为bootstrap模式:将开关SW3设为off (SW3位于主板电源插孔和Reset键之间。 将开关拨向Reset键的那一边以将其设为off)。
•插上电源给MX27 MDK供电
•在主机上运行ADSToolkit.exe
•在i.MX CPU选项中选择[i.MX27_TO2]
•在Device memory initial选项中选择DDR
•选中Serial Port并选择COM1,然后单击[Next]
•选择Flash Tool然后单击Go
•在Operation type选项中选择Program
•在flash model下拉框中选择[NAND K9K2G08R0A]
•单击Browse来选择IMX27MDK27V0_nb_iplspl.bin
•在Address输入框中输入0x00000000
•单击[Program]然后等待其完成
(3)运行Bootloader
Bootloader烧写完后将开关SW3拨向on(即拨向电源插槽那一端),然后给MDK断电再重新上电,MDK即可启动。
Bootloader的打印信息是输出到串口上的。可以使用Windows HyperTermianl或其他串口工具来连接你 的主机和MDK。以下以Windows HyperTermianl为例来介绍如何连接主机和MDK以及Bootloader的使用。
打开Windows中的HyperTerminal(一般在Windows的附件->通讯工具中可以找到),将MDK debug板上的串口和主机上的串口用串口线连接。将HyperTerminal先断开(菜单Call->disconnect),然后按图2对其进行设置(菜单File->Properties)。
图2 超级终端的设置
选择OK保存设置,然后单击菜单Call->call将其与MDK连接。 Linux对V4L2视频采集流图像传输系统设计(7):http://www.751com.cn/zidonghua/lunwen_8955.html