为TPAD安装启动程序(引导程序):u-boot.bin
TPAD:
Nand Flash
SD卡
USB
设置TPAD上拨码开关
PC:运行DNW软件
TPAD:s5pv210(自带IROM)
0xd0020010 x210_usb.bin
0x23e00000 u-boot.bin
执行u-boot.bin
tarena#
OK
##### JFJKJBIOS for JFJ210 #####
This Board:SDRAM is 1024MB; LCD display size is: 800X480
show logo
Hit any keyto stop autoboot: 0
Unknowncommand 'menu' - try 'help'
tarena #
就是PC通过USB发送给TPAD的u-boot.bin(0x23e00000)程序的运行界面,通过敲击空格键,进入tarena#
tarena # dnw 0x20008000
是一条命令,将一个程序下载到0x20008000(TPAD的内存地址)
通过USB线,从PC机
OTG(miniusb) cable Connected!
Now,Waiting for DNW(软件) to transmit data
此时,从DNW软件的USBport->Transmit->u-boot.bin
DownloadDone!! Download Address: 0x20008000, Download Filesize:0x572c4
Checksum isbeing calculated.
ChecksumO.K.
dnw 0x20008000,此命令就是PC通过USB将u-boot.bin下载到TPAD的0x20008000内存地址
tarena # nand erase 0x0 0x100000
NAND erase:device 0 offset 0x0, size 0x100000
Erasing at0x0 -- 12complete.
Erasing at0x20000 -- 25lete.
Erasing at0x40000 -- 37lete.
Erasing at0x60000 -- 50lete.
Erasing at0x80000 -- 62lete.
Erasing at0xa0000 -- 75lete.
Erasing at0xc0000 -- 87lete.
Erasing at0xe0000 -- 100lete.
OK
该命令用于擦除Nand Flash,从0x0地址开始,擦0x100000(1M)大小的Nandflash的控制
tarena# nand write 0x20008000 0x0 0x100000
NAND write:device 0 offset 0x0, size 0x100000
Main arearead (8 blocks):
Checksum iscalculated.
Main areawrite (8 blocks):
1048576 bytes written: OK
该命令将已经下载到TPAD内存0x20008000地址的u-boot.bin程序烧写到Nand Flash的0x0地址开始,1M的大小。
至此,我们就完成了将启动程序u-boot.bin烧写(安装)到Nand flash中。
将拨码开关拨到从Nand flash启动TPAD
4->OFF
重新开启TPAD
通过敲击空格键,进入
tarena#
u-boot.bin烧写在Nandflash上,因此从Nand flash启动TPAD
一上电,执行s5pv210处理器中的IROM中的代码,判断拨码开关,由于拨码开关(Nand Flash启动),因此,IROM程序直接从Nand flash上去寻找启动程序,并执行该启动程序u-boot.bin
通过USB启动方式
0xd0020010 x210_usb.bin
0x23e00000 u-boot.bin
执行u-boot.bin
tarena# dnw 0x20008000 (u-boot.bin)
tarena# nand erase 0x0 0x100000
tarena# nand write 0x20008000 0x0 0x100000
SD卡
假定Nandflash 空的,将u-boot.bin烧写到Nandflash
准备一张大的SD卡
将SD卡制作成启动卡
0.先将SD卡先格式化FAT32格式
1.工具IROM_Fusing_Tool.exe
下的程序是u-boot_self.bin,其实就是u-boot.bin
注意:制作好的sd启动卡,在pc机上看不到内容!(即在pc机上,打开sd卡不显示刻录的u-boot.bin程序数据)
2.先TPAD断电,将制作好的SD启动卡插入TPAD的SD卡座
将拨码开关拨到SD卡启动
3.开启开发板
一上电,最先执行s5pv210里的IROM程序,判断从哪里启动,由于从SD卡启动,从SD卡读取启动程序u-boot.bin,执行
tarena#
如何通过网络的方式下载u-boot.bin到TPAD的内存地址0x20008000
tarena#
PC TPAD
服务器 客户端
1.将PC机VMware àubuntu建立成TFTP的服务器
(1)安装软件tftp服务器的软件(默认已经安装,因此,省略)
看arm/ubuntu-tftp-usage.doc有如何安装TFTP服务器
(2)做一些配置工作:
修改配置文件:/etc/default/tftpd-hpa文件
$ sudo vi /etc/default/tftpd-hpa
配置文件用于指定共享目录,u-boot.bin程序放在该目录下,TPAD客户端就可以通过网络下载u-boot.bin文件
(3)$ifconfig
查看当前ubuntu的IP地址
如果不是该地址,输入以下命令:
$ sudo ifconfig eth0 192.168.1.8
$ifconfig 再次查看IP地址是否修改成功
(4)重新将TFTP服务启动
$sudo /etc/init.d/tftpd-hpa restart
2.准备共享文件u-boot.bin 放到共享目录/tftpboot下
arm/day01/
如何将XP下的u-boot.bin放到ubuntu下的/tftpboot
(1)建立XP与ubuntu之间的共享路径
打开VM->Settings->
(2)cd /mnt/hgfs/day01 (具体根据自己的设置选择目录)
cp u-boot.bin /tftpboot
至此,共享文件已经准备好了。
3.配置网络:
(1)修改连接TPAD网卡的在XP下的IP地址
(2)Edit->Virtual Network Editor
(3)VM->Settings->
tarena #tftp 0x20008000 u-boot.bin
该命令将u-boot.bin程序通过网络从ubuntu服务器的/tftpboot目录下下载到TPAD的0x20008000地址
tarena #tftp 0x20008000 u-boot.bin
dm9000 i/o:0x88000000, id: 0x90000a46
DM9000:running in 16 bit mode
MAC:00:40:5c:26:0a:5b
operatingat 100M full duplex mode
TFTP fromserver 192.168.1.8(ubuntu); our IPaddress is 192.168.1.6(TPAD)
Filename'u-boot.bin'.
Loadaddress: 0x20008000
Loading: #TT T T T T T T ########################
done
回到ubuntu中,执行:
$ifconfig
$sudo /etc/init.d/tftpd-hpa restart
Bytestransferred = 357060 (0x572c4)
tarena #nand erase 0x0 0x100000
tarena #nand write 0x20008000 0x0 0x100000
总结:
通过USB启动方式
0xd0020010 x210_usb.bin
0x23e00000 u-boot.bin
执行u-boot.bin
tarena# dnw 0x20008000 (u-boot.bin)通过usb
tarena#nand erase 0x0 0x100000
tarena#nand write 0x20008000 0x0 0x100000
通过SD卡启动
1.制作SD卡,执行了u-boot.bin
tarena# tftp 0x20008000 u-boot.bin 通过网络
tarena#nand erase 0x0 0x100000
tarena#nand write 0x20008000 0x0 0x100000
1403/1405/ARM/bj/day02.doc
Nand Flash 中烧写了u-boot.bin
TPAD中搭建程序运行环境。
关于s5pv210
datasheet 数据手册
arm/datasheet/S5PV210_UM_REV1.1.pdf
三星,ARM(cortex-a8),蜂鸟
五星级酒店
5栋楼
1000个房间
200
150
200
------------------------------------------------------------------------------------------------------------------
S5Pv210的内存映射:
0xd0020010 (IRAM) x210_usb.bin
IRAM在s5pv210处理器的内部
静态RAM(SRAM)
0x23e00000 u-boot.bin
在开发板的核心板,外接内存
0x20008000 u-boot.bin
在开发板的核心板,外接内存
0xd0020010 (IRAM) x210_usb.bin
IRAM在s5pv210处理器的内部
静态RAM(SRAM)
0x23e00000 u-boot.bin
在开发板的核心板,外接内存
0x20008000 u-boot.bin
在开发板的核心板,外接内存
RAM
随机存储器 掉电就丢失
SRAM:静态RAM
接通电源,就可以工作
DRAM:动态RAM
接通电源,不能立即工作,必须先初始化DRAM控制器
内存:
s5pv210处理器 初步认识
三星
ARMCortex-A8 1G 32位的处理器
寻址地址:0x0-0xFFFFFFFF(0~4G-1)4G bytes 线性编址
外设控制器
GPIO通用输入输出
将TPAD的LED1灯点亮
硬件原理图
LED1在底板,底板原理图
arm/硬件原理图/CW210-Peripherial.pdf(底板原理图)
核心板原理图:
CW210_CORE_TARENA.pdf(TARENA)
CW210_CORE_LHGZ.pdf(融慧广泽)
VDD5V:5V电源
GND:接地
Q1:三极管,数字电路中的三极管相当于电子开关,用来控制电路的导通和断开。
给Q1高电平,数字1,三极管导通,整个电路导通,LED1亮
给Q1低电平,数字0,三极管截至,整个电路断开,LED1灭
GPC1_3管脚接到原理图的什么位置
GPC1_3到核心板原理图
tarena板子
融慧广泽
GPC1_3
GPC0_3两个CPU(s5pv210)上的管脚
GPIO:CPU中所有的外设接口中最简单的一种接口,通用的IO口,IO就是输入输出,可以通过编程实现IO管脚输出高电平或者低电平,也可以输入高低电平
如何使得GPC1_3或者GPC0_3两个管脚产生高低电平?
要解决此问题,s5pv210的datasheet
P92
GPIO :237个 CPU中管脚绝大多数都是复用,多功能
GPC1组,共有5个管脚
GPC1_0
GPC1_1
GPC1_2
GPC1_3
GPC1_4
GPC0组,共有5个管脚
GPC0_0
GPC0_1
GPC0_2
GPC0_3
GPC0_4
寄存器
P141
P139