arm第二天(环境搭建、LED上)

回顾
嵌入式系统:
以应用为中心,以计算机为基础,软硬可裁剪,系统对功能、可靠、成本、体积、以及功耗都有严格要求的计算机系统。
什么是嵌入式?
计算机技术和行业结合中,形成的产物;
嵌入式软件开发工程师
应用(行业),行业知识
计算机技术(软件开发)

程序开发:PC机
运行平台:嵌入式硬件平台(TPAD)
编译器:arm-linux-gcc(基于ARM架构),生成可执行程序

TPAD:
s5pv210:三星 , cortex-a8(ARM提供的处理器)
启动方式:四种
1,Nand Flash
2, SD卡
3,USB(OTG)接口(通过USB线,将PC和TPAD相连,其实启动程序在PC)
4,串口(很少用)
启动方式是通过设定TPAD上的拨码开关来进行设置的

板子一上电,s5pv210处理器中,有一段三星固化好的代码(出厂自带),代码在IROM(集成在s5pv210内部),一上电就招行IROM中的代码,判断拨码开头所设置的启动方式;如果设定的是从USB启动,因此,IROM中的代码就会从USB接口上获取启动程序(PC主机);

将启动程序u-boot.bin程序安装(烧写)到Nand Flash,将拨码开关拨至Nand Flash启动,重启开发板;板子重新上电,IROM,判断拨码开关的设置,Nand Flash启动到Nand Flash上找启动程序;

DNW软件:
0xd0020010 x210_usb.bin
0x23e00000 u-boot.bin ,运行启动,并显示出运行的过程
按住空格键,进入:
tarena# dnw 0x20008000
通过命令再次发送 u-boot.bin到0x20008000地址
tarena# nand erase 0x0 0x100000
nand flash的擦除命令,从 nand flash0地址开始擦,擦1M大小
tarena# nand write 0x20008000 0x0 0x100000
nand flash的烧写命令,将TPAD内存0x20008000中的u-boot.bin烧写到nand flash,从 nand flash 的0地址开始写,写1M,至此,完成了u-boot.bin的烧完工作
重新设置拨码开关
重启开发板

0xd0020010 x210_usb.bin (IARM,静态存储器,上电就能用)
0x23e00000 u-boot.bin (外接内存的地址(物理地址))
0x20008000 u-boot.bin (外接内存的地址(物理地址))

为什么要下载两个u-boot.bin?通过dnw下载的处于运行状态,很多数据已不是最初的状态,所以还需要下载一份。如图:
这里写图片描述


SD卡烧写:
1,准备一张SD卡,将u-boot.bin烧写到Nand Flash中。
2,将sd卡制作成一张启动卡,将sd卡先格式化成FAT32格式。
3,工具ftp://arm/通过sd卡启动u-boot ,参考
4,先将TPAD断电,将制作好的SD启动卡插入TPAD的SD卡座,将拨码开关设置成SD卡启动。
5,启动开发板
一上电,最先执行的s5pv210里面的IROM程序,读拨码开关的设置(SD)


网络下载:
如何通过网口,将u-boot.bin程序下载到TPAD的内存的0x20008000.
搭建PC和TPAD之间的网络环境:
PC TPAD
服务器 客户端
1,将PC机(VMware)搭建成TFTP服务器
VMware 中ubuntu系统搭建为TFTP
1),安装ubuntu下的TFTP的服务器软件(有些系统默认已经安装)
2),配置工作
个性配置文件:/etc/default/
这里写图片描述
指定tftp服务器的共享目录在ubuntu下的/tftpboot目录,所有共享谁的在u-boot.in将要放在该目录,客户端TPAD可以下载。
2,设置ubuntu的IP地址
设置之前先查看一下IP地址:ifconfig
sudo ifconfig eth0 192.168.1.8
ifconfig再次查看IP地址是否设置成功
只要修改了IP,就要重新启动TFTP服务,使其生效
sudo /etc/init.d/tftpd-had restart

3,将u-boot.in文到共享目录/tftpboot下:ftp://xxxx/u-boot.bin

如何将XP下的u-boot.bin放到ubuntu下/tftpboot下呢?
1),建立XP与ubuntu之间的共享路径
打开VM->Settings ->
这里写图片描述

2),如何使用:
 cd   /mnt/hgfs/..
 cp  u-boot.bin    /tftpboot  -rf
 u-boot.bin就已经放到ubuntu中的/tftpboot共享目录下

4,配置虚拟机的网络
1),个性连接TPAD网卡在XP下的IP地址
这里写图片描述
2), VMware->Edit->Virtual network
这里写图片描述
3),VMware->VM ->Settings ->适配器
这里写图片描述
至此,整个网络环境搭建完毕;
总结:
1,安装ubuntu下安装tftp服务器软件,并设置/tftpboot共享目录
2,设置ubuntu的IP地址,ifconfig 192.168.1.8,重新启动TFTP服务
3,将XP下的u-boot.bin共享到ubuntu下,设置XP和ubuntu的共享目录
4,设置网络环境,XP下网卡的地址,桥接(一定是连TAPD的网卡名称)

从SD卡启动,通过空格键:
tarena# tftp 0x20008000 u-boot.bin
该命令就是通过搭建好的网络,从ubuntu服务器的/tftpboot目录的u-boot.bin下载到TPAD的内存地址的0x20008000
这里写图片描述

总结一下:
通过USB启动方式:
0Xd0020010 x210_usb.bin
0X23e00010 u-boot.bin
执行 u-boot.bin
tarena# dnw 0x20008000
tarena# nand erase 0x0 0x100000
tarena# nand write 0x20008000 0x0 0x100000

通过SD卡启动,网络下载:
1,制作一张SD卡启动,拨码开关设置为SD卡启动,执行uboot.bin由于ubuntu和TPAD之间的网络环境搭建成功
tarena# tftp 0x20008000 u-boot.bin
//通过网络下载u-boot.bin
tarena# nand erase 0x0 0x100000
tarena# nand write 0x20008000 0x0 0x100000


数据手册(datasheet)

CPU结构:

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述

这里写图片描述

系统一旧情,实际上是从0地址找代码执行,硬件已经将IROM(0XD000,0000)的代码映射到0地址(由硬件完成)

如何点灯?
如何将TPAD底板上的LED1灯点亮?
看硬件原理图
底板原理图:

核心板原理图:
这里写图片描述
VDD5:电源
GND:地
Q1,Q2:三级管,数字电路中的三极管相当于电子开关,用于控制电路的导通和断开;
当Q1给高电平,数字1,三级管导通,整个电路导通,LED1亮
当Q1给低电平,数字0,三级管断开,整个电路断开,LED1灭

在核心板原理图(CPU)中搜索GPC1_3
GPC1_3管脚连接到原理图的什么位置
GPC1_3管脚连接到S5PV210:
taneral:S5PV210的GPC1_3
这里写图片描述
融慧广泽:S5PV210的GPC0_3
这里写图片描述

GPC1_3、GPC0_3都是S5PV210处理器的GPIO口

GPIO:所有外设接口中最简单的一种接口,能用IO口,IO就是输入输出,可以通过编程实现IO管脚输出高电平或低电平,也可以输入高电平或低电平。

这里写图片描述

如何使用CPU管脚输出高电平;
要解决此问题,s5pv210的datasheet
p92
通过阅读datasheet,可知
s5pv210共有237个GPIO管脚,都有多功能,复用
如何管理?分组
GPC1_3管脚
GPC1组,共有5个管脚
GPC1_0
GPC1_1
GPC1_2
GPC1_4

GPC0_3管脚
GPC0组,共有5个管脚
GPC0_0
GPC0_1
GPC0_2
GPC0_4

taneral:
这里写图片描述

融慧广泽:
这里写图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值