mini2440学习入门

超级用户登录:

(1)      Fedora14下用普通用户登录后,打开终端,输入#sudo vim/etc/pam.d/gdm命令,编译/etc/pam.d/gdm文件:在gdm文件中找到以下行,并在前面加上“#”,注释掉如下行:#auth        required  pam_succeed_if.souser !=root quiet

(2)      用同样的方法编辑/etc/pam.d/gdm-password文件,在gdm-password中找到以下行,并在前面加上“#”将该行注释掉:#auth            required  pam_succeed_if.so user !=root quiet

 

安装arm-Linux-gcc:

tar –xvzf arm-linux-gcc-4.3.3.tgz–C /

路径导入path中去:echo $PATH

vim /root/.bashrc 在最后加上:

PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

注销                   

检验安装是否成功:arm-linux-gcc-v

arm-Linux-gcc解压目录:/opt/FriendlyARM/toolschain/4.4.3/bin

 

Uboot:

Uboot初体验:

       解压:tar –xvzfu-boot-2010.03-embedclub_cmdline.tgz –C /home/student/

       彻底清除:makedistclean

       (进Makefile文件,看包名。)

       源码包配置:makesmdk2440a_config

       直接make(编译)。

 

minitoolsu-boot烧入板子,之后Nand启动。

 

配置TFTF

U-Boot的下载功能:

首先安装tftp工具:

              在线安装tftpyum install tftp

                                          yuminstall tftp-server

检查安装:rpm –q tftp

配置脚本文件:vim /etc/xinetd.d/tftp

创建tftpserver根目录:mkdir /tftpboot

设置权限:chmod +rw/tftpboot

重启tftp服务:service xinetd restart

  使用u-boot.bin配合tftp server完成下载功能。

 

测试

给板子烧uImage

       将电脑和板子用网线连起来。

       设置本地、服务器的ipsetenv serverip 192.168.72.128,并保存saveenv

       关闭Linux防火墙、命令行输入system-config-selinux,将系统默认应用模式改为disable即可。

       SecureCRT中依次输入:

SMDK2440A>tftp 0x30008000 uImage

SMDK2440A>nand erase 60000 500000

SMDK2440A>nand write 0x30008000 0x600000x500000

bootm

 

内核:

解压内核源码包:

tar xvzf linux-2.6.32.2.tar.gz–C /home/student

 

Step1: 拷贝config_x35为文件.config

#cp config_mini2440_x35 .config

Step2: linux-2.6.32.2目录下输入:vim Makefile

export KBUILD_BUILDHOST := $(SUBARCH)

ARCH            ?= arm

CROSS_COMPILE   ?= arm-linux-

正常显示。

如图:

Step3: 执行make menuconfig定制内核组件,以root权限执行

#make menuconfig

(先安装两个程序:

yum install ncursesyum install ncurses-devel)之后出现图形化界面

Step4: 编译内核

#make zImage

编译完成后,内核镜像文件zImage生成在linux-2.6.32.2/arch/arm/boot/目录

 

zImage转换为uImage

1.装光盘中的Ultraedit软件;

2.Ultraedit打开光盘\【申嵌视频】-S3\【申嵌视频】3 入门篇\tools目录里的mkz2uimage脚本;

3.切入u-boot-2010.03/tools目录,执行cp mkimage      /usr/local/bin

4.mkz2uimage脚本拷入…/linux-2.6.32.2/arch/arm/boot中,例如cp mkz2uimage/home/student/linux-2.6.32.2/arch/arm/boot

5.直接执行脚本:./mkz2uimage

测试结果:cp uImage /tftpboot/,若有覆盖掉;

                     下载到板子:在CRT上输入tftp 30008000 uImage

成功后输入bootm测试。

根据实验手册(1)进行。

              SecureCRT中依次输入:

SMDK2440A>tftp0x30008000 uImage      //写入内存

SMDK2440A>nanderase 60000 500000            //擦除NAND相应空间

SMDK2440A>nandwrite 0x30008000 0x60000 0x500000      //写入NAND相应空间

 

NFS:

解压根文件系统源码包:

tar xvzf root_qtopia.tar.gz –C /home/student/

配置NFS服务:

设置NFS共享目录(修改配置文件):vim /etc/exports

加入:/home/student/root_qtopia       *(rw,sync,no_root_squash)

保存退出。

启动NFS服务(生效):exportfs -ra

检查一下:exportfs-v

设置u-boot引导参数,启动内核挂载网络根文件系统:(在CRT输入)

setenv bootargs console=ttySAC0root=/dev/nfs nfsroot=192.168.1.72:/home/student/root_qtopia ip=192.168.1.226:192.168.1.72:192.168.1.72:255.255.255.0:SMDK2440A.arm9.net:eth0:off

保存一下:save env         打印检查一下:printenv

 

 

YAFFS:

       1.解压根文件系统源码包:tarxvzf root_qtopia.tar.gz(前面已完成)

       2.制作YAFFS格式的镜像文件:

解压:tar xvzf mkyaffs2image.tgz -C /

              查看参数:echo$PATH

              制作镜像,在root_qtopia的上层目录中输入:mkyaffs2image-128M root_qtopia/ root_qtopia.img

              拷贝到tftp服务器共享目录中:cp root_qtopia.img /tftpboot/

并修改其权限:chmod +r root_qtopia.img

 

烧写YAFFSNandFlash

通过tftp server下载root_qtopia.img至开发板内存0x30008000 地址处,在CRT中输入:tftp 0x30008000 root_qtopia.img

擦除Nand Flash0x560000 开始,大小为0x3dac00的空间,来存放root_qtopia.img,在CRT中输入:nand erase 0x560000 $filesize

烧写root_qtopia.img0x560000 开始的Nand Flash,在CRT中输入:nand write.yaffs 0x30008000 0x560000 $filesize

      

3.设置u-boot引导参数,启动内核挂载YAFFS根文件系统:

       Setenv bootargs noinitrdroot=/dev/mtdblock3 init=/linuxrc console=ttySAC0

       最后再boot

 

 

hello world程序:

电脑上:

编写程序:vimhello.c

编译:gcchello.c -o hello

运行:./hello

板子上

编写程序:vimhello.c

编译:arm-linux-gcchello.c -o hello

拷到板子的文件目录中:cphello /home/student/root_qtopia

在板子上运行:CRT上输入:./hello

 

驱动:

1.将【申嵌视频】-S3\【申嵌视频】3 入门篇\src\drivers里的

arm_module文件夹,拷入虚拟机里的/home/student/drivers中。

cp -a arm_module/ /home/student/drivers/

2.执行make,生成ARM版本的.ko模块文件(编译):输入make,生成hello.ko

3.hello.ko拷到板子的文件目录(虚拟机中挂载的目录)中:cp hello.ko /home/student/root_qtopia

4.直接加载(在CRT里输入):insmodhello.ko

       insmod——加载、插入的意思

       查看已加载模块:lsmod

5.卸载模块:rmmod hello

 

cmos摄像头驱动:

Linux-2.6.32.2/drivers/media/video/s3c2440camif.c

 

提高题:

1.       通过nfs服务器把mjpg-streamer-mini2440-bin-r6.tar拷到板子里,

新建目录:mkdir/mjpg-streamer

解压:tar xvzfmjpg-streamer-mini2440-bin-r6.tar –C /mjpg-streamer

2.       硬件测试摄像头:先将摄像头插在板子上,之后再上电(一定要按这个步骤否则有烧摄像头的可能),打开板子上友善之臂目录下的CMOS摄像头,显示图像,成功后重启板子。

3.       将电脑本地连接的ip设为和板子、linux虚拟机在同一网段,并ping板子、linux虚拟机,ping通即可。

4.       CRT中输入:cd /mjpg-streamer进入测试目录

./start_s3c2410.sh执行测试程序,结果如图:

5.       打开火狐、谷歌浏览器(IE不行),输入地址http://192.168.1.226:8080/stream_simple.html

192.168.1.226为自己板子的IP

2012年10月15日星期一亲测可以下载 公开视频光盘目录结构 国嵌视频1.iso -学习方法与课程体系介绍(学前必看) -学习方法介绍.avi -国嵌嵌入式课程体系.pdf -嵌入式Linux学习方法.pdf -国嵌课程1-嵌入式入门体验班(上) -第1天(嵌入式系统概述) -国嵌体验入门班-1-1(嵌入式系统概述).avi -国嵌体验入门班-1-2(ARM概述).avi -国嵌体验入门班-1-3(嵌入式Linux概述).avi -国嵌体验入门班-1-4(2440开发板介绍).avi -国嵌体验入门班-1-5(软硬件环境搭建).avi -第2天(开发板快乐体验) -国嵌体验入门班-2-1(开发板系统安装).avi -国嵌体验入门班-2-1(开发板系统安装-Jlink方式).avi -国嵌体验入门班-2-1(开发板系统安装-并口方式).avi -国嵌体验入门班-2-2(裸机程序体验).avi -国嵌体验入门班-2-3(QT系统体验).avi -国嵌体验入门班-2-4(Android系统体验).avi 国嵌视频2.iso -国嵌课程1-嵌入式入门体验班(下) -第3天(Linux系统体验) -国嵌体验入门班-3-1(Linux定制安装).avi -国嵌体验入门班-3-2(Linux命令).avi -国嵌体验入门班-3-3(VI使用).avi -国嵌体验入门班-3-4(Linux系统管理).avi -国嵌体验入门班-3-5(Shell编程).avi -国嵌体验入门班-3-6(Qcd功能演示).avi -国嵌体验入门班-3-7(必修实验).avi -国嵌课程2-嵌入式Linux应用开发班 -第1天(编程基础) -国嵌应用班-1-1(GCC程序编译).avi -国嵌应用班-1-2(GDB程序调试).avi -国嵌应用班-1-3(makefile工程管理).avi -国嵌应用班-1-4(必修实验).avi -第2天(文件时间编程) -国嵌应用班-2-1(系统调用方式访问文件).avi -国嵌应用班-2-2(库函数访问文件).avi -国嵌应用班-2-3(时间编程).avi -国嵌应用班-2-4(必修实验).avi -第3天(多进程程序设计) -国嵌应用班-3-1(进程控制原理).avi -国嵌应用班-3-2(进程控制程序设计).avi -国嵌应用班-3-3(必修实验).avi -第4天(进程间通讯) -国嵌应用班-4-1(进程间通讯概述).avi -国嵌应用班-4-2(管道通讯).avi -国嵌应用班-4-3(信号通讯).avi -国嵌应用班-4-4(共享内存通讯).avi -国嵌应用班-4-5(必修实验).avi -第5天(进程间通讯) -国嵌应用班-5-1(消息队列).avi -国嵌应用班-5-2(信号量).avi -国嵌应用班-5-3(必修实验).avi -第6天(进程间通讯) -国嵌应用班-6-1(线程基础).avi -国嵌应用班-6-2(多线程程序设计).avi -国嵌应用班-6-3(必修实验).avi -第7天(网络编程) -国嵌应用班-7-1(Linux网络概述).avi -国嵌应用班-7-2(Linux网络编程基础).avi -国嵌应用班-7-3(TCP程序设计).avi -国嵌应用班-7-4(UDP网络程序设计).avi -国嵌应用班-7-5(并发服务器).avi -国嵌应用班-7-6(必修实验).avi 国嵌视频3.iso -国嵌课程3-ARM系统进阶班 -第1天(ARM系统开发基础) -ARM系统精讲班-1-1(ADS集成开发环境).avi -ARM系统精讲班-1-2(ARM工作模式).avi -ARM系统精讲班-1-3(ARM寄存器).avi -ARM系统精讲班-1-4(ARM寻址方式).avi -ARM系统精讲班-1-5(ARM汇编指令详解).avi -第2天(ARM系统开发基础) -ARM系统精讲班-2-1(ARM汇编指令详解).avi -ARM系统精讲班-2-2(ARM伪指令).avi -ARM系统精讲班-2-3((混合编程).avi -ARM系统精讲班-1-8(必修实验).avi -第3天(LED驱动程序设计) -ARM系统精讲班-2-1(GPIO).avi -ARM系统精讲班-2-2(LED控制程序设计).avi -ARM系统精讲班-2-3((LED闪烁).avi -第4天(LED与按键驱动程序设计) -ARM系统精讲班-4-1(ARM中断控制系统).avi -ARM系统精讲班-4-2(按键控制程序设计).avi -ARM系统精讲班-2-6(必修实验).avi -第5天(定时器与时钟驱动程序设计) -ARM系统精讲班-5-1(ARM时钟体系).avi -ARM系统精讲班-5-2(定时器驱动程序设计).avi -国嵌课程4(嵌入式LINUX内核驱动进阶班-上) -第1天(内核开发基础) -国嵌内核驱动进阶班-1-1(Linux内核简介).avi -国嵌内核驱动进阶班-1-2(Linux内核源代码).avi -国嵌内核驱动进阶班-1-3(Linux内核配置与编译).avi -国嵌内核驱动进阶班-1-4(Linux内核模块开发).avi -国嵌内核驱动进阶班-1-5(必修实验).avi -第2天(U-Boot移植) -国嵌内核驱动进阶班-2-1(嵌入式linux系统架构).avi -国嵌内核驱动进阶班-2-2(交叉工具链).avi -国嵌内核驱动进阶班-2-3(Bootloader介绍).avi -国嵌内核驱动进阶班-2-4(U-Boot介绍).avi -国嵌内核驱动进阶班-2-5(U-Boot命令).avi -国嵌内核驱动进阶班-2-6(U-Boot启动流程).avi -国嵌内核驱动进阶班-2-7(Uboot移植).avi -国嵌内核驱动进阶班-2-8(必修实验).avi 国嵌视频4.iso -国嵌课程4(嵌入式LINUX内核驱动进阶班-下) -第3天(内核开发基础) -国嵌内核驱动进阶班-3-1(嵌入式linux内核制作).avi -国嵌内核驱动进阶班-3-2(根文件系统制作).avi -国嵌内核驱动进阶班-3-3(内核启动流程).avi -国嵌内核驱动进阶班-3-4(嵌入式文件系统).avi -国嵌内核驱动进阶班-3-5(必修实验).avi -第4天(内存管理子系统) -国嵌内核驱动进阶班-4-1(Linux内存管理).avi -国嵌内核驱动进阶班-4-2(进程地址空间).avi -国嵌内核驱动进阶班-4-3(内核地址空间).avi -国嵌内核驱动进阶班-4-4(Linux内核链表).avi -国嵌内核驱动进阶班-4-5(Linux内核定时器).avi -国嵌内核驱动进阶班-2-7(Uboot移植).avi -国嵌内核驱动进阶班-2-8(必修实验).avi -第5天(进程管理子系统) -国嵌内核驱动进阶班-5-1(LINUX进程控制).avi -国嵌内核驱动进阶班-5-2(LINUX进程调度).avi -国嵌内核驱动进阶班-5-3(Linux系统调用).avi -国嵌内核驱动进阶班-5-4(Proc文件系统).avi -国嵌内核驱动进阶班-5-5(内核异常分析).avi -国嵌内核驱动进阶班-5-6(必修实验).avi -第6天(简单字符设备驱动程序设计) -国嵌内核驱动进阶班-6-1(LINUX驱动程序介绍).avi -国嵌内核驱动进阶班-6-2(字符设备驱动程序设计).avi -国嵌内核驱动进阶班-6-3(字符设备驱动程序实例分析).avi -国嵌内核驱动进阶班-6-4(竞争与互斥).avi -国嵌内核驱动进阶班-6-5(必修实验).avi -第7天(高级字符设备驱动程序设计) -国嵌内核驱动进阶班-7-1(Ioctl设备控制).avi -国嵌内核驱动进阶班-7-2(内核等待队列).avi -国嵌内核驱动进阶班-7-3(阻塞型字符设备驱动).avi -国嵌内核驱动进阶班-7-4(Poll设备方法).avi -国嵌内核驱动进阶班-7-5(自动创建设备文件).avi -国嵌内核驱动进阶班-7-6(必修实验).avi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值