欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于ARM9嵌入式Linux引导程序111Word格式.docx

    • 资源ID:7517136       资源大小:1.01MB        全文页数:24页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于ARM9嵌入式Linux引导程序111Word格式.docx

    1、gcc-3.3.6.tar.bz2 linux-libc-headers-2.6.12.0.tar.bz2linux-2.4.21.tar.bz2 crosstool-0.43.tar.gz 以上软件放在Linux的/mnt/hgfs/share中。仍以root身份登陆,在/下输入以下命令: mkdir downloadsmkdir crosstool将下载的软件复制到/download中。将crosstool-0.43.tar.gz 复制到/crosstool中,解压缩tar zxvf crosstool-0.43.tar.gz从终端进入crosstool-0.431)demo-arm.sh

    2、:# vi demo-arm.sh:修改以下两个路径为TARBALLS_DIR=/download 下载的软件包存放的地址RESULT_TOP=/crosstool 交叉编译环境安装在这里2)arm.dat: #vi arm.dat TARGET=arm-linux #修改交叉编译软件的前缀3)gcc-4.1.0-glibc-2.3.6-tls.dat # vi gcc-3.4.5-glibc-2.3.6-tls.datBINUTILS_DIR= binutils-2.16.1GCC_DIR= gcc-3.3.6GLIBC_DIR= glibc-2.3.2LINUX_SANITIZED_HEA

    3、DER_DIR= linux-libc-headers-2.6.12.0GLIBCTHREADS_FILENAME= glibc-linuxthreads-2.3.64)最后在用户模式下执行demo- arm.sh就可以了./demo-arm.sh数小时后出现如下图所示:修改环境2.2、vivi引导程序的移植。 博创2410板子上本身有vivi引导程序和2.4内核,将针对博创2410板子重新制作vivi引导程序,重新引导原有2.4内核。vivi的移植方法步骤:(1) 对vivi进行移植修改;(2) 对vivi进行配置、编译;(3) 烧写vivi;(4) 测试vivi;本文选择vivi-2003

    4、0929版本。它不仅提供对ARM-920T内核的支持,而且直接提供了对于S3C2410x的板级支持,这使移植工作量相对减少。2.2.1 对vivi进行移植修改1修改vivi/Makefile1) 修改交叉编译库和头文件路径(1) 修改编译器路径。将:CROSS_COMPILE =/usr/local/arm/2.95.3/bin/arm-linux-修改为:CROSS_COMPILE = 符合本机的路径本机CROSS_COMPILE的路径为: CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-(2) 修改编译器库文件路径。ARM_GCC_L

    5、IBS =/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3ARM_GCC_LIBS = 符合本机的路径本机ARM_GCC_LIBS的路径为:2) Linux内核包含文件路径 LINUX_INCLUDE_DIR =/usr/local/arm/2.95.3/include修改Linux头文件所在路径:LINUX_INCLUDE_DIR=符合本机的本机LINUX_INCLUDE_DIR的路径为:LINUX_INCLUDE_DIR = /usr/local/arm/2.95.3/include2修改vivi中与硬件相关的部分与具体运行在哪一个处理器

    6、平台上相关的文件都存放在vivi/arch/目录下,本系统使用S3C2410x处理器,对应的目录为s3c2410。其中head.s文件是vivi启动配置代码,加电复位运行的代码就是从这里开始的。由于该文件中对处理器的配置均通过调用外部定义常数或宏来实现,所以针对不同的平台,只要是S3C2410x处理器,几乎不用修改,只要修改外部定义的初始值即可。这部分初始值都在 vivi/include/platform/smdk2410.h文件中定义,包括处理器时钟、存储器初始化、通用I/O口初始化以及vivi初始配置等。3支持Nand Flash启动的修改(vivi/arch/s3c2410/smdk.c

    7、)1) 修改Nand Flash分区系统存储器使用 64 MB的 Nand Flash,因此vivi要从Nand Flash启动。Nand Flash只适合用来存放数据,不能够直接在其上执行程序指令。为了支持 Nand Flash的系统引导,S3C2410具备一个内部 SRAM缓冲器,叫做 Steppingstone。当系统启动时,Nand Flash存储器的前面 4 KB将被自动载入到 Steppingstone中,然后系统自动执行这些载入的引导代码。Nand Flash的最开始部分是head. S,在 head.S的尾部 vivi将执行 copy_myself代码段将自身拷贝到RAM中,然

    8、后跳转到RAM中的 main()函数,开始运行。我们将系统的64M Nand Flash进行了重新分区,其具体分区如表7-2所示:表7-2 Nand Flash进行了重新分区表名称(name)起始地址(offset)大小(size)引导程序(vivi)0x000000000x00020000(128k)参数(param)0x000200000x00010000(64k)内核(kernel)0x000300000x00200000(2M)根文件系统(root)0x002300000x00400000(4M)应用程序(jffs2)0x006300000x039d0000(57M+832k)因此,从

    9、Nand Flash中启动需要作修改:#ifdef CONFIG_S3C2410_NAND_BOOTmtd_partition_t default_mtd_partitions = name: vivi, offset: 0, size: 0x00020000,/128k flag: 0 , param 0x00030000, 0x00010000, /64kkernel 0x00200000, /2Mroot 0x00230000, 0x00400000,/4M MF_BONFSjffs2 0x00630000, 0x039D0000, MF_JFFS2 ;#endif 2) 修改默认参数v

    10、ivi_parameter_t default_vivi_parameters = mach_type,MACH_TYPE,NULL , media_typeMT_S3C2410,boot_mem_base0x30000000,baudrateUART_BAUD_RATE,xmodem_one_nak0,xmodem_initial_timeout300000,xmodem_timeout30000000,ymodem_initial_timeout1500000,boot_delay0x1000,NULL ; xmodem_timeout需要调整到30000000,不然你在使用下载时候很容易

    11、出现下载失败的信息,如:“Retry 0: NAK on sector”;o 为下载模式(Down Loading)下时间延时,在这段时间里,如果开发人员不输入任何vivi中的命令,则vivi将自动引导内核。本系统修改为:0x1000000。3) 修改启动命令 在 int default_nb_params = ARRAY_SIZE(default_vivi_parameters);下添加: char linux_cmd = noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttyS0,115200 rootfstype=cramfs dev

    12、fs=mount mem=64M;式中启动命令:noinitrd :不使用ramdisk;root :根文件系统所在的MTD(本系统为第四个分区);init :内核运行入口命令文件;console :内核信息输出控制台;ttySAC0 :表示串口,115200表示波特率,这是2.6内核的串口名,这是为了方便引导第八章制作的2.6内核,如果是引导2.4内核则用串口名称为:ttyS0。rootfstype :挂载的根文件系统类型,根据自己的根文件系统来修改,本教材制作的根文件系统是cramfs;devfs :2.6内核采用内核使用devfs (Device File System);mem :Fl

    13、ash存储器大小;4) 修改后编译通过的vivi smdk.c源代码:#include config.hmachine.hvivi.hpriv_data.hmtd/map.hboot_kernel.hcommand.htime.hmtd_partition_t default_mtd_partitions = 0x00020000, 0x00010000, 0x00200000, / 2M sector 0x00230000, 0x00400000, 0x00630000, 0x039D0000, #endif#ifdef CONFIG_S3C2410_AMD_BOOT 0x000C0000,

    14、 0x00100000, 0x00140000,int default_nb_part = ARRAY_SIZE(default_mtd_partitions);#define MT_S3C2410 MT_SMC_S3C2410#define MT_S3C2410 MT_NOR_FLASH, MACH_TYPE, NULL , MT_S3C2410, NULL , 0x30000000, NULL , UART_BAUD_RATE, NULL , 0, NULL , 300000, NULL , 30000000, NULL , 1500000, NULL , 0x1000000, NULL

    15、int default_nb_params = ARRAY_SIZE(default_vivi_parameters);char linux_cmd = noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttyS0,115200 rootfstype=cramfs devfs=mount mem=64M;void set_vpp(struct map_info *map, int vpp)void set_gpios(void) GPACON = vGPACON; GPBCON = vGPBCON; GPBUP = vGPBUP; GPCCO

    16、N = vGPCCON; GPCUP = vGPCUP; GPDCON = vGPDCON; GPDUP = vGPDUP; GPECON = vGPECON; GPEUP = vGPEUP; GPFCON = vGPFCON; GPFUP = vGPFUP; GPGCON = vGPGCON; GPGUP = vGPGUP; GPHCON = vGPHCON; GPHUP = vGPHUP; EXTINT0 = vEXTINT0; EXTINT1 = vEXTINT1; EXTINT2 = vEXTINT2;int board_init(void) init_time(); set_gpio

    17、s(); return 0;extern user_command_t cpu_cmd;int misc(void) add_command(&cpu_cmd);4、对vivi进行配置与编译进入 vivi目录执行 “make clean”,在编译之前将 vivi里所有的“ . o”和“ . o. flag”文件删除。输入“make menuconfig”进入配置界面,,如图7-10所示,进行对 vivi 裁剪。图7-10 vivi配置界面一些主要配置和说明如下:System Type(系统类型) -(S3C2410-based) ARM System type( ARM系统类型) ( ) SA

    18、1100 based ( ) PXA250/210 based ( ) S3C2400 based (x) S3C2410 basedImplementations(启动位置) - (SMDK)Platform (x)SMDK ( )MPORT3 ( )MPORT1 *Support NAND Boot(支持NAND启动) Support AMD Boot(支持AMD启动) - Low Level Hardware Debugging(底层调试-硬件级) Enable simple memory test(简单的存储器测试)General Setup(通用设置) - Define TEXT A

    19、ddress(定义文本地址)(0) vivi base addressvivi(起始地址) support reset handler(支持复位处理程序)Serial Port(串口) -* Serial Port (UART) support(串口支持)* Support serial terminal(支持串口终端)( EXTENDED)User interface(用户界面) ( )STANDARD(标准) ( x)EXTENDED(扩展)- Ports(端口)* Support UART 0(支持UART0) Support UART 1(支持UART1) Support UART 2

    20、(支持UART2) Support UART 3(支持UART3)- Transfer Protocol传输协议* Support X Modem(支持 X Modem 传输) Support Y Modem(支持 Y Modem 传输) Support Z Modem(支持 Z Modem 传输)其它选项可采用默认配置。输入“make”对vivi进行编译,make没有错误,编译后在当前目录下会生成vivi的二进制代码文件vivi,如下图所示,这样就可将其烧写进开发板中,验证是否能将内核引导起来。2.2.2、烧写vivi开发板上已经存在vivi,可以用串口烧写;1.串口下载vivi1)建立超级

    21、终端运行Windows2000系统下开始程序附件通讯超级终端(HyperTerminal),新建一个通信终端。如果要求输入区号、电话号码等信息请随意输入,出现如下2.2.21图所示对话框时,为所建超级终端取名为arm,可以为其选 一个图标。单击“确定”按钮。图2.2.21在接下来的对话框中选择ARM 开发平台实际连接的PC串口(如COM1),按确定后出现如下图2.2.22所示的属性对话框,设置通信的格式和协议。这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。按确定完成设置。图2.2.22完成新建超级终端的设置以后,可以选择超级终端文件菜单中的另存为,把设置好的超级终端保

    22、存在桌面上,以备后用。 用串口线将PC 机串口和平台UART0 正确连接后,就可以在超级终端上看到实验平台程序输出的信息。2) 格式化flash 打开超级终端,先按住PC机键盘的Back Space键,然后启动2410-S,进入vivi,按照以下命令格式化flash,重新分区,如下图2.2.23所示:vivibon part 0 128k 192k 2240k 6336k:m 65536k回车图2.2.23 格式化flash3) 烧写vivi 这时已格式化flash,运行的是SDRAM中的vivi。注意如果这时重启或断电会丢失所有数据,否则必须用Jtag重新烧写vivi。load flash vivi x 回车。点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择协议为Xmodem,选择镜像文件vivi,点击“发送”,如图2.2.24,10秒左右vivi就烧写到


    注意事项

    本文(基于ARM9嵌入式Linux引导程序111Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开