arm_day02

来源:互联网 发布:sql server 卸载不了 编辑:程序博客网 时间:2024/04/29 06:33

为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

 

 

0 0
原创粉丝点击