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

news2025/1/7 6:17:58

目录

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(栈指针)寄存器:用于指向当前栈顶的地址,用于管理函数调用时的局部变量和函数调用栈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1241279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

transformer之KV Cache

一、为什么要研究KV Cache 非常有效的加速推理速度,效果如下所示: import numpy as np import time import torch from transformers import AutoModelForCausalLM, AutoTokenizer NAME_OR_PATH r*************** device "cuda" if torch.cu…

人工智能-循环神经网络的简洁实现

循环神经网络的简洁实现 如何使用深度学习框架的高级API提供的函数更有效地实现相同的语言模型。 我们仍然从读取时光机器数据集开始。 import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, num_steps 32, 35…

如何利用工业以太网网关实现上位机无线控制plc?

Modbus TCP/IP 是对成熟的 Modbus 协议的改编, 因其开放性、简单性和广泛接受性而在工业自动化系统中发挥着举足轻重的作用。它作为连接各种工业设备的通用通信协议,包括可编程逻辑控制器 (PLC)、远程终端单元 (RTU) 和传感器。它提供标准化的 TCP 接口&…

使用Python的turtle模块创建一幅哆啦A梦

1.1引言: 在Python中,turtle模块是一个非常有趣且强大的工具,它允许我们以一个可视化和互动的方式学习编程。通过调用各种命令,我们可以引导turtle画出一个指定的图形。在本博客中,我们将使用turtle模块来绘制一幅哆啦…

NX二次开发UF_CAM_set_lower_limit_plane_tag 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_set_lower_limit_plane_tag Defined in: uf_cam_planes.h int UF_CAM_set_lower_limit_plane_tag(tag_t object_tag, tag_t target_tag ) overview 概述 Set the tag of a …

华大基因认知障碍基因检测服务,助力认知障碍疾病防控

认知障碍是一种严重的神经系统疾病,对人类的脑健康产生了重大影响。据报告显示,在我国65岁以上的人群中,存在轻度认知障碍的患者约为3,800万,而中重度痴呆患者则约为1,500万,患病人口数量庞大。这种疾病不仅会对患者的…

nc命令记录

nc是什么 image-20231122074312187 nc是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。nc命令在linux系统中实际命令是ncat,nc是软连接到ncat。 目录 nc是什么目录常用命令1、网络连通性测试和端口扫描 tcp测试udp测试…

文件的上传

文件上传方便用户将本地文件传输到互联网上的应用程序或网站中,实现信息的共享和传递。它不仅提供了便捷的数据传输方式,还增强了用户的体验,使用户能够轻松分享个人创作、照片、视频、文档等内容。同时,文件上传也促进了远程协作…

Linux常用命令——blockdev命令

在线Linux命令查询工具 blockdev 从命令行调用区块设备控制程序 补充说明 blockdev命令在命令调用“ioxtls”函数,以实现对设备的控制。 语法 blockdev(选项)(参数)选项 -V:打印版本号并退出; -q:安静模式; -v&…

免费多域名SSL证书

顾名思义,免费多域名SSL证书就是一种能够为多个域名或子域提供HTTPS安全保护的证书。这意味着,如果您有三个域名——例如example.com、example.cn和company.com,您可以使用一个免费的多域名SSL证书为所有这些域名提供安全保障,而无…

【LeetCode】每日一题 2023_11_23 HTML 实体解析器(调库/打工)

文章目录 刷题前唠嗑题目:HTML 实体解析器题目描述代码与解题思路 结语 刷题前唠嗑 题目:HTML 实体解析器 题目链接:1410. HTML 实体解析器 题目描述 代码与解题思路 func entityParser(s string) (ans string) {return strings.NewRepla…

【Java工具篇】Java反编译工具Bytecode Viewer

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

ps软件下载PS2024正式版下载安装教程 ps新功能25.0 AI创成式填充中文版本ps2024神经滤镜平面设计摄影后期修图软件Adobe Photoshop2024下载

Photoshop简称“PS”,是一款常用和功能强大的图像处理软件。主要处理以像素所构成的数字图像。使用其众多的编修与绘图工具,可以有效地进行图片编辑工作。PS有很多功能,在图像、图形、文字、视频、出版等各方面都有涉及。 一、PS软件下载 1、…

【双指针】有效三角形的个数

有效三角形的个数 611. 有效三角形的个数 - 力扣(LeetCode) 题目描述 给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2…

Mybatis-Plus3.0默认主键策略导致自动生成19位长度主键id的坑

码字不易,如果对您有用,求各位看官点赞关注~ 原创/朱季谦 目前的Mybatis-Plus版本是3.0,至于最新版本是否已经没有这个问题,后续再考虑研究。 某天检查一位离职同事写的代码,发现其对应表虽然设置了AUTO_INCREMENT自…

第95步 深度学习图像目标检测:Faster R-CNN建模

基于WIN10的64位系统演示 一、写在前面 本期开始,我们学习深度学习图像目标检测系列。 深度学习图像目标检测是计算机视觉领域的一个重要子领域,它的核心目标是利用深度学习模型来识别并定位图像中的特定目标。这些目标可以是物体、人、动物或其他可识…

事关Django的静态资源目录设置与静态资源文件引用(Django的setting.py中的三句静态资源(static)目录设置语句分别是什么作用?)

在Django的setting.py中常见的三句静态资源(static)目录设置语句如下: STATICFILES_DIRS [os.path.join(BASE_DIR, static_list)] # 注意这是一个列表,即可以有多个目录的路径 STATIC_ROOT os.path.join(BASE_DIR, static_root) STATIC_URL /static-url/本文介…

气候变化和人类活动对中国植被固碳的贡献量化数据月度合成产品

简介: 气候变化和人类活动对中国植被固碳的贡献量化数据月度合成产品包括中国2001~2018年地表短波波段反照率、植被光合有效辐射吸收比、叶面积指数、森林覆盖度和非森林植被覆盖度、地表温度、地表净辐射、地表蒸散发、地上部分自养呼吸、地下部分自养呼吸、总初级…

PTA-6-45 工厂设计模式-运输工具

题目如下: 工厂类用于根据客户提交的需求生产产品(火车、汽车或拖拉机)。火车类有两个子类属性:车次和节数。拖拉机类有1个子类方法耕地,方法只需简单输出“拖拉机在耕地”。为了简化程序设计,所有…

Python之pyc文件的生成与反编译

目录 1、什么是pyc文件 2、手动生成pyc文件 3、pyc文件的执行 4、pyc文件的反编译 1、什么是pyc文件 pyc文件(PyCodeObject)是Python编译后的结果。当python程序运行时,编译的结果是保存于PyCodeObject,程序运行结束后&#x…