(mini2440)建立交叉编译环境+配置linux内核

发布者:MysticSerenade最新更新时间:2020-05-18 来源: eefocus关键字:mini2440  交叉编译环境  配置linux内核 手机看文章 扫描二维码
随时随地手机看文章

系统ubuntu12.04(非虚拟机下)

mini2440

CPU型号:S3C2440AL-40

Nandflash型号:K9F1G08

Norflash型号:SST39VF1601

LCD:统宝 240 x 320

$:普通账户

#:root账户

*当shell下输入路径时可使用tab键自动补全


(一)建立交叉编译环境


1.将mini2440光盘中的linux文件夹拷贝到 /home/lianghuiyong 并改名为Linux_share

(其中两个文档为我后面添加进去的)

2.Ctrl+Alt+T打开shell

3.$ su - root (切换root权限)

4.# cd /home/lianghuiyong/Linux_share

5.解压安装arm-linux-gcc编辑器

# tar xvzf arm-linux-gcc-4.4.3.tar.gz  –C /        //注意:C后面有个空格

执行该命令,将把 arm-linux-gcc 安装到/usr/loca/arm/4.4.3 目录。这句来自mini2440用户手册,我发现其实是安装到 /opt/FriendlyARM/toolchain/4.4.3 目录


6.# vim /root/.bashrc

7.在最后一行添加:export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin    //opt/FriendlyARM/toolschain/4.4.3/bin 为arm-linux-gcc 环境变量

:wq保存退出。

# source ~/.bashrc

8.# sudo gedit /etc/environment

games后面添加标记部分

9.#  arm-linux-gcc -v         //gcc后面有空格

测试hello.c(这是在安装了第二部分的linux示例程序才有examples/hello目录)

# cd /opt/FriendlyARM/mini2440/examples/hello

# arm-linux-gcc -o hello hello.c

# ./hello

(二)安装源代码及其他工具

创建工作目录(以下都为root环境下):

# mkdir -p /opt/FriendlyARM/mini2440


1>>解压安装linux内核源代码

# cd  /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/linux-2.6.32.2-mini2440-20100106.tar.gz


2>>解压安装嵌入式图形系统qtopia源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/x86-qtopia.tgz

# tar xvzf /home/lianghuiyong/Linux_share/arm-qtopia.tgz


3>>解压安装嵌入式图形系统 QtE-4.6.1 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/arm-qte-4.6.3-20100802.tar.gz


4>>解压安装busybox 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/busybox-1.13.3-mini2440.tgz


5>>解压安装 Linux 示例程序

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/examples-20100108.tgz


6>>解压安装 vboot 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/vboot-src-20100106.tar.gz


7>>解压安装 bootloader 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/bootloader.tgz


8>>解压创建目标文件系统

# cd /opt/FriendlyARM/mini2440

#tar xvzf /home/lianghuiyong/Linux_share/rootfs_qtopia_qt4-20100816.tar.gz


9>>解压安装目标文件系统映象制作工具 mkyaffs2image

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/mkyaffs2image.tgz –C /


10>>解压安装LogoMaker

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/logomaker.tgz –C /


(三)定制linux内核及制作文件系统


config_mini2440_x35 – 适用于 Sony 3.5” LCD 的内核配置文件

config_mini2440_t35  – 适用于统宝 3.5” LCD 的内核配置文件

config_mini2440_l80  – 适用于 Sharp 8” LCD(或兼容)的内核配置文件

config_mini2440_n35 – 适用于 NEC3.5” LCD 的内核配置文件

config_mini2440_h43 – 适用于 4.3” LCD 的内核配置文件

config_mini2440_a70 – 适用于群创 7” LCD 的内核配置文件

config_mini2440_vga1024x768 – 适用于 VGA 显示输出(分辨率 1024x768)模块的内核

配置文件


1.配置缺省文件config_t35 (统宝240x320)


# cd  /opt/FriendlyARM/mini2440/linux-2.6.32.2  

# cp config_mini2440_t35 .config

# make menuconfig

出现界面

不做更改,exit退出。这样做是为了生成相应配置(统宝240x320)的头文件。


2.编译内核


在/opt/FriendlyARM/mini2440/linux-2.6.32.2 目录下编译内核

#make zImage

编译结束后,会在 arch/arm/boot 目录下生成 linux 内核映象文件:zImage(zImage 可下载到开发板测试)


3.定制linux内核(根据用户手册来走一遍)


# cd  /opt/FriendlyARM/mini2440/linux-2.6.32.2  

# make menuconfig

出现配置选项:


3.1配置cpu

主菜单-->System --> Type S3C2400 Machines --> FriendlyARM Mini2440 development board

3.2配置lcd驱动

主菜单-->Device Drivers-->Graphics support-->Support for frame buffer devices-->Backlight-->LCD select-->3.5 inch 240x320 Toppoly LCD


3.3配置触摸屏

主菜单-->Device Drivers-->Input device support-->Touchscreens-->Samsung s3c24410 touchscreen input driver


3.4配置usb鼠标和键盘

主菜单-->Device Drivers-->hid devices-->USB Human interface Device


3.5 配置优盘

主菜单-->Device Drivers-->SCSI device support--> SCSI disk


3.6配置万能驱动USB摄像头

主菜单-->Device Drivers-->Multimedia devices-->Video capture adapters -->V4L USB devices-->GSPCA based webcams-->ALi USB m 5602 Camera Driver


3.7 配置CMOS摄像头驱动

主菜单-->Device Drivers-->Multimedia devices-->Video capture adapters-->OV9650 on the s3c2440 driver


3.8配置网卡驱动

主菜单-->Netwoking support-->Networking options -->选择Unix和TCP/IP


主菜单-->Device Drivers-->Network device support-->Ethernet (10 or 100Mbit)-->

选择 <*> Generic Media Independent Interface device support

        <*> DM9000 support


3.9 配置USB无线网卡驱动

主菜单-->Netwoking support-->wireless-->IEEE 802.11


主菜单-->Device Drivers-->Netwoking device support-->wireless LAN-->Wireless LAN(IEEE 802.11)-->Ralink driver support-->


3.10 配置音频驱动

主菜单-->Device Drivers-->Sound card supprt-->OSS Mixer API -->ALSA for Soc audio support-->SoC Audio for the samsung S3Cxxxx Chips


3.11 配置SD/MMC卡驱动

主菜单-->Device Drivers-->MMC/SD/SDIO card-->samsung S3C SD/MMC card


3.12 配置看门狗驱动支持

主菜单-->Device Drivers-->Watchdog Timer-->s3c2440 Watchdog


3.13 配置LED驱动

主菜单-->Device Drivers-->Character devices-->LED support for Mini2440


3.14 配置按键驱动

主菜单-->Device Drivers-->Character devices-->Buttons driver


3.15 配置PWM控制蜂鸣器驱动

主菜单-->Device Drivers-->Character devices-->buzzer driver for 


3.16 配置AD转换驱动

主菜单-->Device Drivers-->Character devices-->ADC driver for


3.17 配置串口驱动

主菜单-->Device Drivers-->Character devices-->Serial drivers-->samsung S3C2440/S3C2442 


3.18 如何配置RTC实时时钟驱动

主菜单-->Device Drivers-->Real Time Clock-->samsung S3C series SoC RTC


3.19 配置I2C-EEPROM驱动支持

主菜单-->Device Drivers-->I2C support -->I2C Hardware Bus support-->S3C2410 I2C Driver


3.20 配置yaff2s文件系统的支持

主菜单-->Device Drivers-->MTD-->NAND Device Support -->NAND FLASH Support

主菜单-->File systems-->Miscellaneous filesystems -->YAFFS2 file system support


3.21 配置EXT2/VFAT/ NFS等文件系统

主菜单-->File systems-->Network File Systems -->root file system on NFS


为了支持FAT32 文件系统.

主菜单-->File systems-->DOS/FAT/NT Filesystems -->VFAT (windows-95) fs support


关于mini2440 linux内核裁剪到此为止,退出后有一个是否保存提示,选择保存!


3.22 制作Linux logo


本来想使用Logomaker,结果生成的图片都是无数据的,这可能和系统内一些参数有关

使用命令方式制作logo:

在图片(open_show.png)目录下

#  pngtopnm open_show.png > temp.ppm

#  ppmquant 224 temp.ppm >temp2.ppm

#  pnmnoraw temp2.ppm > logo.ppm

将目录下生成的logo.ppm改成linux_logo_clut224.ppm,替代linux2.6.32.2/drivers/video/logo 目录下的同名文件


根目录(linux-2.6.32.2)下


# make zImage


内核完成!


(4)制作目标板(mini2440)文件系统+QT界面

root下

# cd /opt/FriendlyARM/mini2440

# mkyaffs2image-128M rootfs_qtopia_qt4 rootfs_qtopia_qt4.img


这样会在当前目录下生成 rootfs_qtopia_qt4.img 映像文件,你可以通过 USB 烧写到 128M Nand Flash 。

到此,裁剪的linux系统映像完成!

————————————————

版权声明:本文为CSDN博主「牧羊_人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/muyang_ren/article/details/39438235

系统ubuntu12.04(非虚拟机下)

mini2440

CPU型号:       S3C2440AL-40

Nandflash型号:K9F1G08

Norflash型号:SST39VF1601

LCD:              统宝 240 x 320

$: 普通账户

#:root账户

*当shell下输入路径时可使用tab键自动补全


(一)建立交叉编译环境


1.将mini2440光盘中的linux文件夹拷贝到 /home/lianghuiyong 并改名为Linux_share

(其中两个文档为我后面添加进去的)


2.Ctrl+Alt+T打开shell

3.$ su - root (切换root权限)

4.# cd /home/lianghuiyong/Linux_share

5.解压安装arm-linux-gcc编辑器

# tar xvzf arm-linux-gcc-4.4.3.tar.gz  –C /        //注意:C后面有个空格

执行该命令,将把 arm-linux-gcc 安装到/usr/loca/arm/4.4.3 目录。这句来自mini2440用户手册,我发现其实是安装到 /opt/FriendlyARM/toolchain/4.4.3 目录


6.# vim /root/.bashrc

7.在最后一行添加:export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin    //opt/FriendlyARM/toolschain/4.4.3/bin 为arm-linux-gcc 环境变量

:wq保存退出。

# source ~/.bashrc

8.# sudo gedit /etc/environment

games后面添加标记部分


9.#  arm-linux-gcc -v         //gcc后面有空格


测试hello.c(这是在安装了第二部分的linux示例程序才有examples/hello目录)

# cd /opt/FriendlyARM/mini2440/examples/hello

# arm-linux-gcc -o hello hello.c

# ./hello


(二)安装源代码及其他工具

创建工作目录(以下都为root环境下):

# mkdir -p /opt/FriendlyARM/mini2440


1>>解压安装linux内核源代码

# cd  /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/linux-2.6.32.2-mini2440-20100106.tar.gz


2>>解压安装嵌入式图形系统qtopia源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/x86-qtopia.tgz

# tar xvzf /home/lianghuiyong/Linux_share/arm-qtopia.tgz


3>>解压安装嵌入式图形系统 QtE-4.6.1 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/arm-qte-4.6.3-20100802.tar.gz


4>>解压安装busybox 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/busybox-1.13.3-mini2440.tgz


5>>解压安装 Linux 示例程序

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/examples-20100108.tgz


6>>解压安装 vboot 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/vboot-src-20100106.tar.gz


7>>解压安装 bootloader 源代码

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/bootloader.tgz


8>>解压创建目标文件系统

# cd /opt/FriendlyARM/mini2440

#tar xvzf /home/lianghuiyong/Linux_share/rootfs_qtopia_qt4-20100816.tar.gz


9>>解压安装目标文件系统映象制作工具 mkyaffs2image

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/mkyaffs2image.tgz –C /


10>>解压安装LogoMaker

# cd /opt/FriendlyARM/mini2440

# tar xvzf /home/lianghuiyong/Linux_share/logomaker.tgz –C /


(三)定制linux内核及制作文件系统


config_mini2440_x35 – 适用于 Sony 3.5” LCD 的内核配置文件

config_mini2440_t35  – 适用于统宝 3.5” LCD 的内核配置文件

config_mini2440_l80  – 适用于 Sharp 8” LCD(或兼容)的内核配置文件

config_mini2440_n35 – 适用于 NEC3.5” LCD 的内核配置文件

config_mini2440_h43 – 适用于 4.3” LCD 的内核配置文件

config_mini2440_a70 – 适用于群创 7” LCD 的内核配置文件

config_mini2440_vga1024x768 – 适用于 VGA 显示输出(分辨率 1024x768)模块的内核

配置文件


1.配置缺省文件config_t35 (统宝240x320)


# cd  /opt/FriendlyARM/mini2440/linux-2.6.32.2  

# cp config_mini2440_t35 .config

# make menuconfig

出现界面

不做更改,exit退出。这样做是为了生成相应配置(统宝240x320)的头文件。


2.编译内核


在/opt/FriendlyARM/mini2440/linux-2.6.32.2 目录下编译内核

#make zImage

编译结束后,会在 arch/arm/boot 目录下生成 linux 内核映象文件:zImage(zImage 可下载到开发板测试)


3.定制linux内核(根据用户手册来走一遍)


# cd  /opt/FriendlyARM/mini2440/linux-2.6.32.2  

# make menuconfig

出现配置选项:


3.1配置cpu

主菜单-->System --> Type S3C2400 Machines --> FriendlyARM Mini2440 development board

3.2配置lcd驱动

主菜单-->Device Drivers-->Graphics support-->Support for frame buffer devices-->Backlight-->LCD select-->3.5 inch 240x320 Toppoly LCD


3.3配置触摸屏

主菜单-->Device Drivers-->Input device support-->Touchscreens-->Samsung s3c24410 touchscreen input driver

[1] [2]
关键字:mini2440  交叉编译环境  配置linux内核 引用地址:(mini2440)建立交叉编译环境+配置linux内核

上一篇:2.关于MINI2440下载的问题
下一篇:友善之臂mini2440开发板的一点感受

推荐阅读最新更新时间:2024-11-02 05:14

mini2440一线总线移植tslib1.4
最近在学习中接触到了触摸库tslib,自己试着移植的时候发现网上分为两种方案,一种是使用2440自带AD的方案,另一种是友善的一线总线方案。我的液晶型号是TD35,默认的连接方案是一线总线,所以这里移植的是一线总线方案。 上网搜索的过程中发现网上可用的一线总线tslib并不是1.4版本的,但是编译后使用是没有问题的,抱着试一试的心态决定移植一下1.4版本的tslib到MINI2440,经过实验,成功将tslib的1.4版本移植到了mini2440. 移植主要是将友善提供的one_wire_ts_input.c文件添加到对应位置,修改配置文件就可以了。 下面列出补丁文件 diff -ru tslib/configur
[单片机]
mini2440 简单按键中断模式驱动程序
Makefile KERN_DIR = /home/grh/kernel_source_code/linux-2.6.32.2 all : make -C $(KERN_DIR) M=`pwd` modules arm-linux-gcc key_interrupt_app.c -o key_interrupt_app clean : make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.order obj-m += key_interrupt.o copy : cp key_interrupt.ko key_interrupt_app
[单片机]
<font color='red'>mini2440</font> 简单按键中断模式驱动程序
linux操作系统交叉编译环境的建立方法
基于linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成(所以称为交叉编译)。双方之间一般通过串口,并口或以太网接口建立连接关系。   但在此我建议构建如下的交叉编译环境,适合个人或研发小组使用:单独拿出一台PC机(PII以上即可,就用以前淘汰的旧机器就可以),在该PC上安装桌面的Linux操作系统(如Red Hat Linux 8.0及以上),可以采用默认的安装选项(注意要包含ftp服务),这台PC作为Linux服务器,除管理员以外,一般不直接让其他人去操作。
[电源管理]
mini2440上一步步实现将ADS工程移植到keil MDK
从买板子到现在,想想也有2个月啦,开始就想跑裸奔的,可是工程都是在ADS下,win7系统根本不能用,于是就想着怎么在MDK跑,可是MDK上s3c2440的启动文件是不完整的,因此不推荐使用,为此蛋疼聊好长一段时间,查了很多资料都不成功,可能是我太笨啦,为此,今天把我自己的方法写给和我一样的想用MDK的童靴们吧。 首先新建一个文件夹,然后在里面新建startcode和source两个文件夹,如下 接着打开MDK新建工程,启动文件不选,如下 接着复制光盘中的启动文件2440init.s option.inc memcfg.inc 2440addr.inc到startcode,如下 然后在MDK左侧栏新建两个文件夹,分
[单片机]
<font color='red'>mini2440</font>上一步步实现将ADS工程移植到keil MDK
驱动开发之 HelloWorld (for mini2440
开发环境:ubuntu16.04 64bit Linux内核版本:linux-2.6.32.2 1、编写mini2440_hello_module.c 在/linux-2.6.32.2/drivers/char目录下,编写mini2440_hello_module.c,代码如下: #include linux/kernel.h #include linux/module.h static int __init mini2440_hello_module_init(void) { printk( Hello yfw, Mini2440 module is installed !n ); return 0;
[单片机]
驱动开发之 HelloWorld (for <font color='red'>mini2440</font>)
U-boot 在 mini2440-S3C2440 上的移植(1)-开发环境搭建-交叉编译工具链的安装
编译U-boot给mini2440时,要编译出能在ARM平台上使用的可执行文件-bin,首先要在ubuntu 中安装交叉编译工具链,因为我使用的是友善之臂的开发板,所以我使用的已经制作好的工具链,当然也可以自己制作工具链:如基于GCC和glibc制作工具链,可以使用cross tools编译; 我使用的工具链的版本是arm-linux-gcc-4.3.3版本,下载地址:下载地址 1.在pc端下载好以后,将压缩包用xftp传输到Ubuntu;当然也可以用其他软件上传;上传后把它放在根目录下的/usr/local文件夹中新建一个arm文件夹,然后把压缩包复制到这个文件夹;注意先建好文件夹再上传,可以减少很多工作量; 一定要上传压缩包,
[单片机]
U-boot 在 mini2440-S3C2440 上的移植(1)-开发<font color='red'>环境</font>搭建-<font color='red'>交叉</font><font color='red'>编译</font>工具链的安装
mini2440---keil for ARM下的调试与下载环境的搭建
题外话:编译环境选择推荐 对于刚刚接触ARM裸机编程的各位,我要特别的进行提醒一下,就是关于编译环境的选择问题。目前主流的有ADS+AXD,KEIL FOR ARM,IAR FOR ARM三种,我开始使用的ADS+AXD进行学习,因为光盘里面自带,而且很多资料都是他的,但是个人感觉真心调试十分的不方便,而且各种容易死机,并且现在也已经不更新了,北航一本讲嵌入式的书出了一个第二版,就是把ADS换成了KEIL,而且以后KEIL会是主流,因此我推荐选择KEIL进行学习。IAR听我一个同学说也十分好用,但是在网上找有关方面的资料不是很多。而且我想北航一群教授编书都用KEIL进行,说明KEIL自有他的优势,书上这么说了,那以后会有更多学
[单片机]
mini2440---keil for ARM下的调试与下载<font color='red'>环境</font>的搭建
U-Boot-1.1.6移植到MINI2440开发板(1) —— 移植前分析
将U-Boot-1.1.6移植到MINI2440开发板上,从NAND Flash启动(不使用NOR Flash)。 需要准备的: Linux环境:Ubuntu 16.04 交叉编译工具链:arm-linux-gcc-3.4.5 U-Boot-1.1.6源码:u-boot-1.1.6.tar.bz2 S3C2440手册:S3C2440A 32-BIT CMOS MICROCONTROLLER USERS MANUAL ARM920T技术手册:ARM920T Technical Reference Manual 其它相关datasheet 参考资料:《嵌入式Linux应用开发完全手册》以及网上博客(#^.^#)。 说明:下述涉
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved