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

目录

1 开发板硬件资源介绍 

2 初始原理图

3 交叉开发环境搭建

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

3.2 在windows下安装SecureCRT    

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

3.4 下载测试程序

4 硬件控制原理

4.1 地址映射表

4.2 查看数据手册


1 开发板硬件资源介绍 

lv11 嵌入式开发 FS4412开发环境搭建 8_第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
如图在配置文件的最后一行添加如下内容,将交叉编译工具链的安装路径添加到了全局环境变量中,然后保存退出
lv11 嵌入式开发 FS4412开发环境搭建 8_第2张图片
注:每个人 ubuntu 所使用的用户名可能不同,所以家目录的路径可能有差异,这里根据自己的实际情况进行设置
$ source ~/.bashrc
重启配置文件使配置生效
执行以下命令
$ arm-none-linux-gnueabi-gcc -v
有以下信息打印则表示安装成功
lv11 嵌入式开发 FS4412开发环境搭建 8_第3张图片
注:若使用的是 ubuntu 16.04 或更高的版本( 64 ubuntu ),需要安装 32 位库
$ sudo apt-get install lib32z1 lib32ncurses5
查看可执行程序的运行环境:
x86 32位

lv11 嵌入式开发 FS4412开发环境搭建 8_第4张图片

arm 32位 

lv11 嵌入式开发 FS4412开发环境搭建 8_第5张图片

3.2 在windows下安装SecureCRT    

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

略   

3.4 下载测试程序

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

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

 lv11 嵌入式开发 FS4412开发环境搭建 8_第6张图片

3. 右击“我的电脑”选择“管理”
lv11 嵌入式开发 FS4412开发环境搭建 8_第7张图片

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

lv11 嵌入式开发 FS4412开发环境搭建 8_第8张图片

5. 双击运行“SecureCRT 

6. 在弹出的对话框中设置连接属性,协议选择使用“ Serial ”(串口)连接,端口选择 CH340 在设备管理器中显示的端口,波特率选择“115200 ”,其他选项使用默认即可,设置完成后 单击“Connect ”即可连接开发板与 SecureCRT 终端
lv11 嵌入式开发 FS4412开发环境搭建 8_第9张图片

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

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

 lv11 嵌入式开发 FS4412开发环境搭建 8_第11张图片

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

 lv11 嵌入式开发 FS4412开发环境搭建 8_第12张图片

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

lv11 嵌入式开发 FS4412开发环境搭建 8_第13张图片

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

lv11 嵌入式开发 FS4412开发环境搭建 8_第14张图片

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

lv11 嵌入式开发 FS4412开发环境搭建 8_第15张图片
13. 在终端输入“ go 40008000 ”命令(即表示跳转到 0x40008000 地址执行程序),程序开
始运行,观察开发板上的 LED 是否闪烁

 lv11 嵌入式开发 FS4412开发环境搭建 8_第16张图片

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

 

4 硬件控制原理

lv11 嵌入式开发 FS4412开发环境搭建 8_第17张图片

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

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

4.1 地址映射表

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

如:windows中网卡映射地址

lv11 嵌入式开发 FS4412开发环境搭建 8_第18张图片

4.2 查看数据手册

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

芯片概述

lv11 嵌入式开发 FS4412开发环境搭建 8_第19张图片内存映射

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

lv11 嵌入式开发 FS4412开发环境搭建 8_第20张图片

IROM 三星内部的程序

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

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

lv11 嵌入式开发 FS4412开发环境搭建 8_第21张图片

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

lv11 嵌入式开发 FS4412开发环境搭建 8_第22张图片

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

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

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


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

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

你可能感兴趣的:(嵌入式开发,单片机,嵌入式硬件)