嵌入式产品不同场景硬件区别很大。
1、扩展内存,芯片内部集成了一小部分内存,一个扩展内存是256M,4个共1G内存。
2、emmc芯片相当于硬盘,装入了操作系统和应用程序。断电不丢失。
3、电源管理芯片:对开发板各个模块的电源合理管理,保证开发板在正常工作的情况下,功耗最低。
4、USB接口:安装Linux系统后,可以安装USB驱动,可以通过USB接口读写USB设备,比如U盘。
5、USB-OTG接口:mps/mp4(不常用)
6、SD卡:安装Linux系统后,可以安装SD卡驱动,可以通过卡槽读写SD卡的文件
7、TF卡槽:功能同SD卡,区别接口协议不同。
8、K2/K3:机动按键,可以自己编写。
9、拨码开关:emmc启动/SD卡启动/TF启动,什么启动,启动后先执行哪个。
10、红外:接收红外线,可以通过遥控器远程控制开发板。
11、温度传感器:检测温度。
12、电位器:产生模拟的电压信号,AD实验检测信号。
13、camera:摄像头接口,可以实现拍照或摄像头功能。
14、IO1\IO2:可以外接输入输出设备。
15、蜂鸣器:产生警报声音/提示音。
16、JTAG:仿真器,硬件仿真接口。
17、HDMI:高清视频,对外输出高清视频。外界显示器。
18、音频:麦克风、耳机接口。
19、485/CAN总线:差分信号,抗干扰能力强。
20、网口:有线网上网,和电脑之间传输数据。
21、网卡:DM9000。
22、串口:通信,开发板和电脑通信。下载程序。
23、陀螺仪/角速度:检测加速度和角速度传感器。
24、其他用于信号的转化和处理。
使用注意事项:
1、隔绝金属和液体。
2、核心板和底板。
目标:找到硬件的连接关系
1、电阻:限流、分压
2、电容:使用在电源,是电源更稳定
3、二极管:单向导电性
正极流向负极
4、三极管:模拟电路中功率放大或者作为开关
5、引脚:引脚名字指示引脚作用
6、网络标号:电路图中网络标号相同的节点,在电气上是连接在一起的。
直接把程序下载到ARM开发板。不需要仿真。
之前开发,写程序-编译程序-执行程序都是在乌版图中,之后开发,写程序-编译程序在乌班图中,执行程序在ARM处理器中。
之前的编译器默认编译成x86可以执行的代码,下载编译器,使编译器能够在ARM处理器上执行。
下载好的编译器只能在当前目录使用,因此还要将编译器的目录添加到环境变量中。
用下载好的交叉编译器编译生成能在ARM处理器上执行的文件
arm-none-linux-gnueabi-gcc
安装终端,通过串口线,将命令发给开发板,开发板执行命令,并通过串口线将命令结果传回给开发板。
开发板USB接入电脑是没有识别的,因为没有驱动,所以需要安装转串口驱动。
kermit网络通信协议
go命令执行下载文件
CPU内部不用管,通过指令集控制硬件。指令集中的指令相当于接口。
之前学的数据处理指令、跳转指令、状态寄存器传送指令、SWI、协处理器指令,这些都是在CPU内部数据和寄存器操作,不会对硬件产生操作,内存读写指令Load/store可以操作CPU之外的硬件。
Load/store操作硬件
寄存器分专用寄存器、通用寄存器、控制寄存器。在开发板上例如USB、UART硬件上都含有寄存器存储数据,CPU通过STR和LDR读写寄存器控制硬件。
ROM断电不丢失。RAM存储变量和数据。RSV没有用的空间
在这里,控制寄存器在SOC内部但不在CPU内部,用STR/LDR方式访问。
通过控制这段内存范围,可以控制网卡。
SOC内部本身没有这段内存,扩展了1G,还有0.5G没有加内存条。0x400008000下载地址,正好是扩展内存的地址。
1、普通编译器编译后的可执行文件只能在Inter处理器运行,交叉编译器编译后生成可以在ARM编译器上执行的可执行文件。
2、ARM处理器中的寄存器都是CPU内部的寄存器,与控制硬件无关。硬件控制器中的寄存器在SOC但不在CPU内部,CPU通过STR/LDR读写寄存器控制硬件。