失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 5.1.2.Linux 设备驱动程序开发环境搭建 —— 基于Tiny4412

5.1.2.Linux 设备驱动程序开发环境搭建 —— 基于Tiny4412

时间:2021-01-12 18:47:27

相关推荐

5.1.2.Linux 设备驱动程序开发环境搭建 —— 基于Tiny4412

一、安装交叉编译工具

交叉编译工具的版本:arm-linux-gcc-4.5.1-v6-vfp-0301.tgz

1. 切换到 root 用户:su

2. 解压

$ tar -xvf arm-linux-gcc-4.5.1-v6-vfp-0301.tgz -C /

交叉编译工具默认路径(pwd):/opt/FriendlyARM/toolschain/4.5.1/bin

3. 将交叉编译器添加到环境变量中

(1). 临时:在终端执行如下命令

$ export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin

(2). 永久:添加到开机启动文件中

$ vim /etc/profile# 写到 profile 文件的最后一行,保存退出$ export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin

4. (可选)如果是 Ubuntu 64 位系统,则需要安装支持32位的库

$ apt-get install lib32ncurses5 lib32z1

5. 验证是否成功

$ arm-linux-gcc -v

二、U-Boot 编译

1. U-Boot 的版本:uboot_tiny4412-sdk1506.tar.bz2

2. 解压

$ tar -jxvf uboot_tiny4412-sdk1506.tar.bz2

3. 切换到解压后的目录

$ cd uboot_tiny4412-sdk1506

4. 编译 U-Boot

# 清除临时目标文件$ make clean# 选型, 选择开发板对应的配置文件$ make Tiny4412_config # 编译$ make

5. 编译 BL2 制作工具

$ cd sd_fuse/$ make

6. 烧写到 SD 卡

(1). SD 卡分区(SD-Flasher.exe)

(2). 将 U-Boot 镜像烧写到SD卡

$ cd tiny4412/# 主机识别到 SD 卡后,VMware 中”虚拟机“ ”可移动设备“,找到 SD 卡,点击断开与主机链接$ ls /dev/ (mmcblk0)$ ./sd_fusing.sh /dev/mmcblk0

三、编译内核

1. 内核版本:linux-3.5-1114.tar

2. 解压内核

$ tar -xvf linux-3.5-1114.tar

3. 在顶层目录修改makefile,指定交叉编译工具

$ cd linux-3.5$ vim Makefile# 修改 197 行$ CROSS_COMPILE ?= arm-linux-

4. 修改 kernel/timeconst.pl 文件

$ vim kernel/timeconst.pl

5. 安装编译内核所需的库

$ apt-get update$ apt-get upgrade$ apt-cache search ncurses$ apt-get install libncurses5-dev

6. 运行 make menuconfig ,产生 .config 文件

$ make menuconfig

7. 复制 Tiny4412 的原厂配置文件到 .config 文件中

$ cp tiny4412_linux_defconfig .config

8. 去掉内核保护机制

$ make menuconfig# System Type ---># [] Support TrustZone-enabled Trusted... 去掉(*)这一项,内核保护机制

9. 编译内核

$ export PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin$ make zImage

10. 烧写内核镜像到 SD 卡

$ cd arch/arm/boot$ dd iflag=dsync oflag=dsync if=./zImage of=/dev/mmcblk0 seek=1057

11. 开发板上电,接入串口,验证结果

如果觉得《5.1.2.Linux 设备驱动程序开发环境搭建 —— 基于Tiny4412》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。