完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我是电子专业出身,以前一直搞得是单片机,51,STM32等等,后来听说了嵌入式,自己想好好学学。看看到网上都是关于ARM的资料,然后就想学,学习不仅要理论而且要实践,所以就想买块开发板,但是看网上都贵,然后经过对比,自己就选择了mini2440,自己还想找个视频教程学学,听师兄说,韦东山的视频讲的不错,所以就下载了韦东山的视频。开始用mini2440的视频资料搭载环境,
本来想直接利用韦东山老师的虚拟机,但是想想还是自己装一个,体验体验。本人使用的VM虚拟机,系统 ubuntu 9.10,(参照韦老师的视频) 硬件:mini2440 系统:ubuntu 9.10 交叉编译器和linux内核就采用韦东山老师推荐用的:arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 linux-2.6.22.6.tar.bz2(为了和视频保持一致,便于学习) 1.首先自己下载vm虚拟机,然后在下载ubuntu镜像。 2虚拟机的安装百度一下就会有教程,对于ubuntu安装也是一样的,就不在赘述。 说明:安装ubuntu的时候,尽量把软件安装全,不然到时用其中的一些功能时,没有的话影响后面的开发.尤其是对刚开始学嵌入式,然后安装开发环境时,还出现问题,就比较蛋疼。 韦老师推荐终端工具 SecureCRT 5.2 和 CuteFTP 9,其界面比较友好,所以自己就下了这两个工具。 下面就是今天的正题: 一.首先安装交叉编译工具链 1)通过CuteFTP 9将arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2放到linux服务器上,就是ubuntu,在其下建立work目录。 2)解压arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2,命令为tar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2。 3)将其路径加入环境变量vi /etc/profile 下 if [ "$EUID" = "0" ]; then pathmunge /***in pathmunge /usr/***in pathmunge /usr/local/***in pathmunge /opt/work/gcc-3.4.5-glibc-2.3.6/bin 4)加入 /work/gcc-3.4.5-glibc-2.3.6/bin ,然后是环境变量生效 service /etc/profile start 输入arm-linux-gcc -v 就可以看到版本号了 二.然后进行u-boot的编译,我直接用的是韦老师的u-boot(因为韦老师的u-boot基本上通吃所有2440) 1) 解压 tar xjf u-boot-1.1.6.tar.bz2 2) 进入 cd u-boot-1.1.6 3) 给u-boot 打补丁 patch -p1 < ../u-boot-1.1.6_jz2440.patch 4) make 100ask24x0_config 5) 编译 make 就会生成U-boot.bin文件,因为本身mini2440的norflash有其自带的u-boot,所以我将自己编译的u-boot烧入nand flash 三. 修改编辑并编译你的内核 (我直接用韦老师光盘中的linux版本,为了和其保持一致便于学习) 1) 解压 tar xjf linux-2.6.22.6.tar.bz2 2) 进入 cd linux-2.6.22.6 3) 打补丁 patch -p1 < ../linux-2.6.22.6_jz2440.patch 4) 把韦老师网盘上下载的mini2440源码drivers_and_test10th_lcd4thlcd.c复制到内核driver/video,并修改driver/video/Makefile obj-$(CONFIG_FB_S3C2410) += lcd.o 5) 把 mini2440源码drivers_and_testDM9000 网卡驱动复制到内核对应net目录,由于对应Makefile已经修改过了,所以就不需要重新修改,直接使用就行 6) 内核根目录的配置 cp config_ok .config(一定不能忘记这点!!!) 7) make uImage最后在arch/arm/生成uImage 通过 CuteFTP 9考到windows这边进行烧写 四.烧写uboot 烧写方法有2种: a)就是用mini2440norflash自带的u-boot,然后通过dnw进行烧写 b)用opengtig 进行烧写 因为没买openjtg所以就用第一种方法烧写成功后,重启开发板(nand启动),按住空格,就会看到菜单,其中就有烧写linux内核和根文件系统的命令。 五.烧写内核 a)使用的是u-boot的菜单命令加dnw进行下载烧写 b)用opengtig 进行烧写 六.烧写文件系统 我选用韦老师网盘中的文件系统fs_mini_mdev.yaffs2文件,使用的是u-boot的菜单命令加dnw进行下载烧写 七.设置nfs网络文件启动,因为服务器的硬盘大,等到以后进行开发,你就体会到网络文件的好处了 1) 首先要在PC的linux上新建一个共享文件夹 root_nfs,然后设置这个共享文件的属性,然后将从韦东山的网盘后下载的文件系统fs_mini_mdev解压到此目录,即可。 vi /etc/exports 如果第一次打开应该是空文件夹 填写内容:/work/nfs_root *(rw,sync,no_root_nfs) /work/nfs_root表示 nfs 共享目录,它可以作为开发板的根文件系统通过nfs挂载,载设置u-boot的启动参数,就可以以网络文件系统挂载了。所以路径要修改成是你要挂载的文件夹 解释:/work/nfs_root *(rw,sync,no_root_nfs) 的意思其中:* 表示所有的客户机都可以挂载此目录 ,rw表示挂接此目录的客户机对该目录有读写的权力 ,root_nfs 表示允许挂接此目录的客户机享有该主机的 root 身份 通过命令启动和停止 nfs 服务 在PC上的linux输入 /etc/init.d/nfs start 是打开linux的nfs系统服务 2)在开发板的 SecureCRT 界面挂载你的共享目录 mount -t nfs -o nolock,vers=2 192.168.1.108(这是PC上linux的IP地址):/work/nfs_root /mnt 3)cd /mnt 看看能不能打开,你可以测试在PC的共享目录下新建一个vi hello.c 就会在板子上的/mnt中出现 4)启动开发板,进入u-boot,按q,设置参数如 set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.108:/work/nfs_root/fs_mini_mdev ip=192.168.1.17:192.168.1.108:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0 这是输入boot重新启动开发板,此时就会以nfs网络文件启动开发板,接下来就是你的嵌入式开发之路了,哈哈哈哈哈哈哈哈哈。。。。。。。 注意!!!: 1.我刚开始挂接时出现了失败,原来是防火墙没关,这个要特别注意,许多人就是因为这,一直挂接不上。关闭命令 sudo ufw disable,如果你想永远关闭的话,可以写个脚本,进行启动设置即可。 2.还有就是网关,开发板,pc机,虚拟机,IP地址一定要处于用一网关,PC机最好不要自动获取IP自己设置最好,例如:PC机IP 192.168.1.111 虚拟机IP为192.168.1.110,开发板IP192.168.1.17这样就可以 最后,希望各位为大神,批评指正,欢迎交流学习 |
|
相关推荐
|
|
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
1350 浏览 1 评论
1285 浏览 0 评论
1994 浏览 0 评论
2005 浏览 2 评论
1113 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 01:24 , Processed in 0.556598 second(s), Total 73, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191