FL2440开发版烧录,u-boot移植,和简单C程序运行
来源:互联网 发布:自己朗读软件 编辑:程序博客网 时间:2024/05/17 01:11
烧录文件说明:
bootstrap-s3c2440.bin
bootstrap文件是用汇编写的一段代码,主要用来初始化CPU外部的SDRAM;在烧录时,该程序需要使用j-link下载到0x0(CPU内部SRRAM)地址上去运行,另外此程序不需要烧录到Nandflash上。
u-boot-s3c2440.bin
u-boot就相当于电脑的BIOS程序,该程序用来烧录/启动Linux系统等。在运行完bootstrap后,我们需要使用j-link将它加载到0x33f80000(CPU外部SDRAM)中去运行,当他在存中运行起来后,再使用nand write命令将他烧录到nandflash的0地址上去;
linuxrom-s3c2440.bin
linuxrom是linux系统文件,我们需要在u-boot运行时,使用tftp命令下载到SDRAM的0x30008000地址上,然后再使用nand write命令将其烧录到nandflash的0x100000地址上,记得flash再写之前一定要先使用nand erase命令擦除。
s3c2440_apps.apm
该程序为FL2440上的应用程序,包括系统配置,WiFi使用,3G/GPRS拨号,数据库,web server,MP3/MP4播放器程序等;修改网卡IP地址和MAC地址在:/apps/etc/network/ifcfg-eth0
开发版启动过程如图
j-link加载u-boot命令:
h 停止CPU中正在执行的程序,如果没有停下,可以多按几次h
speed 12000 设置J-link调试速度为12M
loadbin D:\yixieziliao\Linux\bootstrap-s3c2440.bin 0 加载bootstrap程序到CPU内部的4K SRAM中运行
setpc 0 让PC寄出去指向SRAM的起始地址,该地址放的是刚才下载的bootstrap程序
g 开始执行bootstrap程序,该程序用来初始化外部扩展的64M SDRAM,地址空间为0x3000 0000~(0x3000 0000+64M)
此时会看到FL2440开发板上亮了一个LED灯
h 停止bootstrap程序的执行,如果没有停下,可以多按几次h
loadbin D:\yixieziliao\Linux\u-boot-s3c2440.bin 0x33f80000 将u-boot加载到SDRAM的0x33f80000
setpc 0x33f80000 使PC寄存器指向0x33f80000,即u-boot程序的第一条代码
g 开始执行u-boot程序
在SCRT上显示的倒计时结束之前,按下任意键进入u-boot下
u-boot下载烧录命令:
①. 设置u-boot环境变量:
set ethaddr 00:11:22:33:44:55 设置fl2440开发板上的u-boot程序中的MAC地址
set ipaddr 192.168.10.88 设置fl2440开发板上的u-boot程序中的IP地址
set serverip 192.168.10.8 指定tftp下载时使用的tftp服务器的IP地址,即是电脑的有线网卡的ip,可以在网络设置中指定ip
save 保存
②. 下载并烧录u-boot程序:
打开TFTP,选择好文件位置
tftp 300008000 u-boot-s3c2440.bin 将u-boot临时下载到SDRAM的30008000地址
nand erase 0 100000 将nandflash的0~1M的分区擦除,该分区是用来存放u-boot程序的;
nand write 30008000 0 ${filesize} 将刚下载到SDRAM 30008000地址上的u-boot写到nandflash的0地址偏移处,大小为下载的U-boot文件大小;
③. 下载并烧录linux系统:
tftp 300008000 linuxrom-s3c2440.bin 将linux系统程序临时下载到SDRAM的30008000地址
nand erase 100000 F00000 将nandflash的1M~16M的分区(总共15M)擦除,该分区是用来存放linux系统的;
nand write 30008000 100000 ${filesize} 将刚下载到SDRAM 30008000地址上的linux系统写到nandflash的1M地址偏移处,大小为下载的linux系统文件大小;
④. 重启进入linux系统:
输入reboot重启或者按下复位reset键重启
这一次在开机时不要中断开发版,在开机完成之后输入账号和密码登录
下载程序:
开发版上的linux系统没有vim编辑器,需要借助其他的设备编辑
由于要用到上传下载,需要有相应的插件
默认有不用安装yum install lrzsz
①.在Linux上
vim hello.c 用sentos编译C程序
gcc hello.c 用gcc编译器编译,但是这个编译的程序无法在开发板上运行
./a.out
/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc hello.c -o hello用arm交叉编译器,编译的程序可以在开发版上运行
sz hello (改SCRT的下载目录,否则会下到默认文件夹)下载C程序到电脑
②.在开发板上
由于u-boot的ip和linux的ip不一样,需要手动设置ip,
ipconfig 查询本机的ip
ifconfig eth0 192.168.XX.XX 把ip设置为上面查询到的ip
tftp -gr hello 192.168.10.8 从电脑端下载程序
chmod 777 hello 赋予权限
./hello 执行程序
- FL2440开发版烧录,u-boot移植,和简单C程序运行
- fl2440开发板之u-boot移植
- FL2440移植u-boot
- 基于FL2440开发板的U-boot移植记录
- fl2440的U-boot-2010.09移植
- FL2440的U-boot-2010.09移植
- u-boot-2014.04移植FL2440(norflash启动)
- fl2440——u-boot的移植
- U-Boot移植FL2440--1--构建FL2440框架
- U-boot-200908在FL2440上的移植(一)--uboot在RAM中运行
- U-boot-200908在FL2440上的移植(二)--uboot在norflash上运行
- fl2440 移植u-boot-2010.09全纪录1---------准备移植
- fl2440的U-boot-2010.09移植(三)DM9000网卡及开发板相关配置
- U-boot-200908在FL2440上的移植(四)--用nfs和tftp下载
- 移植u-boot-2011.09-rc1到FL2440(1)
- 移植u-boot-2011.09-rc1到FL2440(2)
- 移植u-boot-2011.09-rc1到FL2440(3)
- U-Boot移植FL2440--2--支持从Nor FLASH启动
- VS2012 启用非托管调试时不允许更改
- ios 堵塞提示框 已经deprecated 在ios 9.0
- 解决Android studio Android Device Monitor(DDMS)的 File Explorer不显示目录树的问题
- 将字符串按拆分输出
- Qt 学习之路 2(59):使用流处理 XML
- FL2440开发版烧录,u-boot移植,和简单C程序运行
- 454. 4Sum II
- 设计模式读书笔记-----状态模式
- springmvc实现json交互-requestBody和responseBody
- 《C++ Concurrency in Action》笔记27 基于锁的并行数据结构
- Java编程思想读书笔记——访问权限控制
- VS添加第三方库的配置方法及相对路径介绍
- Vision_数据结构_RMQ
- rabbitmq 结合php的安装配置使用