lv11 嵌入式开发 FS4412开发环境搭建 8

本文详细介绍了在Ubuntu环境下安装和配置交叉编译工具链,包括gcc-4.6.4的安装,以及如何在Windows下配合SecureCRT进行串口调试,同时涉及硬件控制原理,如地址映射表和寄存器的作用。
摘要由CSDN通过智能技术生成

目录

1 开发板硬件资源介绍 

2 初始原理图

3 交叉开发环境搭建

3.1 在ubuntu下安装交叉编译工具链    

3.2 在windows下安装SecureCRT    

3.3 在windows下安装USB转串口驱动

3.4 下载测试程序

4 硬件控制原理

4.1 地址映射表

4.2 查看数据手册


1 开发板硬件资源介绍 

2 初始原理图

元器件查找    

  • 1.搜索丝印    
  • 2.查找目录  网络标号     电路图中网络标号相同的节点在电气上是连接在一起的 

3 交叉开发环境搭建

3.1 在ubuntu下安装交叉编译工具链    

交叉编译工具链 -Ubuntu 安装说明
【目的】
了解交叉编译工具链的安装方法与使用方法
【实验环境】
ubuntu 14.04 发行版
【注意事项】
实验步骤中以“ $ ”开头的命令表示在 ubuntu 环境下执行
【实验步骤】
1 、安装交叉编译工具链
ubuntu 下打开一个终端并进入到家目录
$ cd ~
在家目录下创建“ Linux_4412/toolchain ”目录用于存放交叉编译工具链
$ mkdir -p Linux_4412/toolchain
进入到该目录下
$ cd Linux_4412/toolchain/
将资料中“ 1. 交叉编译工具链”下的 gcc-4.6.4.tar 拷贝到该目录下解压“gcc-4.6.4.tar.xz
$ tar xvf gcc-4.6.4.tar.xz
2 、将交叉编译工具链添加到全局环境变量使其全局可用
回到家目录
$ cd ~
打开家目录下的配置文件“ .bashrc
$ vi .bashrc
如图在配置文件的最后一行添加如下内容,将交叉编译工具链的安装路径添加到了全局环境变量中,然后保存退出
注:每个人 ubuntu 所使用的用户名可能不同,所以家目录的路径可能有差异,这里根据自己的实际情况进行设置
$ source ~/.bashrc
重启配置文件使配置生效
执行以下命令
$ arm-none-linux-gnueabi-gcc -v
有以下信息打印则表示安装成功
注:若使用的是 ubuntu 16.04 或更高的版本( 64 ubuntu ),需要安装 32 位库
$ sudo apt-get install lib32z1 lib32ncurses5
查看可执行程序的运行环境:
x86 32位

arm 32位 

3.2 在windows下安装SecureCRT    

3.3 在windows下安装USB转串口驱动

略   

3.4 下载测试程序

1. 如图所示,先检查核心板是否正确安插在底板上( 检查是否有松动,安插方向是否正确 ),
确保 SD 卡已正确插入卡槽( 检查安插是否有松动 )。然后将 USB 转串口线的一端插到电脑
USB 接口,另一端插到开发板对应的端口( 中间位置 ),然后使用电源线给开发板供电

2. 如下图所示,调整拨码开关的位置,将开发板设置成 SD 卡启动模式 

 

3. 右击“我的电脑”选择“管理”

4. 在弹出的对话框中单击“设备管理器”,然后单击“端口(COM LPT)”左侧下拉条,查看 CH340 使用的端口号(插在不同的 USB 口上端口号不同

5. 双击运行“SecureCRT 

6. 在弹出的对话框中设置连接属性,协议选择使用“ Serial ”(串口)连接,端口选择 CH340 在设备管理器中显示的端口,波特率选择“115200 ”,其他选项使用默认即可,设置完成后 单击“Connect ”即可连接开发板与 SecureCRT 终端

注:第一次设置完成以后再打开可直接选择使用该连接,无需重复设置 

7. 如图所示,进入终端界面后若显示该标志则表示连接成功
8. 打开开发板电源,终端界面会显示如下相关信息( 不同的开发板显示的信息可能不同 ), 然后 马上 按下回车键(开发板上电之后可能会显示下图所示的倒计时信息,倒计时结束后开 发板会启动 Linux 系统,现在开发板还没有安装 Linux 系统,所以在倒计时结束之前按下回 车键使其停留在 uboot )使界面停留在 uboot

 

9. 如图所示,在 uboot 界面下输入“ loadb 40008000 ”命令(表示要将程序到下载到内存
中的 0x40008000 地址)

 

10. 单击“Transfer”,然后选择“Send Kermit..”(即使用 Send Kermit..协议下载程序) 

11. 在弹出的对话框中选择资料中提供的测试程序,双击选中,然后单击“OK 

12. 如图所示,若显示如下内容,则表示程序下载成功 

13. 在终端输入“ go 40008000 ”命令(即表示跳转到 0x40008000 地址执行程序),程序开
始运行,观察开发板上的 LED 是否闪烁

 

1 :若要重新下载程序,需要先将开发板电源关闭,然后重复步骤 8~12
2 :以上步骤是将程序下载到了开发板的内存,断电之后程序不会保存
3 :若步骤 8 中没有任何信息显示,可尝试调整拨码开关使用 EMMC 启动

 

4 硬件控制原理

CPU本身是不能直接控制硬件的,硬件一般是由其对应的控制器来控制, SOC中将各个硬件控制器的寄存器映射到了CPU地址空间中的一段范围,这样CPU就可以通过读写寄存器来间接控制硬件

注:这里的寄存器在SOC中但在CPU之外,有地址,访问方式与内存一样,常用于控制硬件

4.1 地址映射表

在一个处理器中,一般会将Flash、RAM、寄存器等存储设备分别映射到寻址空间中的不同地址段,我们将这个映射关系成为这个处理器的地址映射表

如:windows中网卡映射地址

4.2 查看数据手册

数据手册总共2800页,学会如何快速查阅。看总览,看目录找到需要的资料。

芯片概述

内存映射

0x00000000-0xFFFFFFFF 32位机器的地址空间,4GB大小。

IROM 三星内部的程序

IRAM 256k内存,可以放变量和堆栈

SFR region 特殊功能寄存器,对硬件控制0x1000_0000-0x1400_000,都是外设寄存器地址空间,另有一张表对应

Memory of Dynamic Memory Controller (DMC)-0   0x4000_0000 -0x8000_00000,开发板扩展了4块内存的地址,最后-0xFFFFFFFF没有使用 

1.简述交叉编译器和普通编译器的本质区别是什么

普通编译器在操作系统所在的平台上编译工具,能在本平台运行

交叉编译器在一个平台开发,生成的文件在不同的平台上运行,这种情况主要是目标平台可能是不同的操作系统或者处理器架构。


2.简述ARM处理器中的寄存器(如PC、LR、SP)与硬件控制器中的寄存器的本质区别是什么

PC(程序计数器)寄存器:保存下一条要执行的指令的地址。
LR(链接寄存器)寄存器:用于存储函数调用的返回地址,即函数执行完毕后将返回到哪个地址继续执行。
SP(栈指针)寄存器:用于指向当前栈顶的地址,用于管理函数调用时的局部变量和函数调用栈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

4IOT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值