arm-2-基础阶段

1.熟悉开发板,搭建环境,开发基础流程厘清

1.1 熟悉tiny210开发板结构

	arm 9 - 2410, arm11 - 6410, corttexA8-tiny210
	认识板子组成以及元件
	测试烧写boot,kernel(cp),rootfs(ap),脱机烧写
	用户手册
	image:烧写镜像---bootloader-boot.bin,kernel-zimage,rootfs-app
1.1.1 核心板和底板介绍
	核心板:210——三星的s5pv210 cpu——arm架构(corttexA8)(只是出方案,没有芯片)
			实际制造中,主芯片会镶嵌在核心板上,包括存储,cpu,引脚,类似pc上的cpu插槽
			ndflash:需要烧系统,系统的存储空间
			ddrram:扩展储存空间(128g存储量)
			com口
			tage的调试口(bootloader)
			电源灯
			高清接口

	底板:更多的是外设
		  lcd,usb,启动式(sd,内存【ndflash】),uart

1.2 建立板子和pc com连接

	通过com口进行log观察,烧写,调试的工作,以后可以用网络更新

1.3 脱机刷系统

1.3.1 烧写
1.启动scurecrt,通过com连接开发板,操作,看log
	连接协议-serial(串口),设置基本操作(口,波特率-波特频率)
2.用 sd 卡写入boot loader ,copy相关image,准备烧写
	插sd
	分区:引导扇区,非引导扇区——引导扇区是看不到的,根据扇区位置以及卷标有无,系统识别出引导和非
			无卷标的看不到
	使用工具把boot烧进去(引导区)并分区,把images的文件夹copy进去,sd卡会把image装到ndflash,
	下次开机就可以使用ndflash启动
3.烧录系统-bootload,ram(kernel,rootfs)
	上电之后要去读内容(bl决定内容,arm(ap)决定地址)---bl决定操作系统的地址
	以上就是裸板开发(不包含bl)

1.4 基础概念

arm遵循冯诺依曼体系:cpu(转轮)+存储器+外设+总线
高低电平交错产生电子脉冲---模拟0,1, 产生的0,1需要规整一点,系统轮询时钟解决这个事情

请添加图片描述

1.4.1 电子脉冲的产生:数字电路
二极管,三极管,开关,地线,电阻,电容,与或非

我们的工作核心就是:电子脉冲,看板子,看电路,找到地址,操作地址(操作的最小单元--位)
由此,要学习c语言的地址操作,特别是位运算
	推荐知识: 简单的电路原理概要
	      	 c语言的地址操作
		   c语言位运算
1.4.2 开发流程(参考)
1.提需求
2.概要设计(方案):采用什么cpu,nandflash ram,ddrram,norflash
3.两头走: 硬件设计(芯片,模具),软件设计(bsp,uboot往上定制)
4.硬件,修改,软件,驱动(官方有提供),修改
5.集成
6.测试

实际过程,软件很少用开发板,直接上原型板去做 或者模具。
1.4.3 CPU
cpu就是一个轮子,f-取指令(arm指令),d-译码,s-解码(转换成脉冲)
这三个步骤是cpu运行---流水线

三级流水在这里插入图片描述
三级流水

原理图以及电路图以及与或非门

	如何控制10的状态-控制电流的走向-控制高低电频-数字电路控制
	参考文档:datasheet-s5pv210文档(三星
	操作寄存器,让cpu的引脚产生不同的电频,从而实现导通电流和外设,达到目的
	开发板:cpu-核心板-底板,对应三个文档手册
	电路图:schematic:s5pv210-1205-1148,

	电路基本三部分:电源,负载(极管,电阻),中间环节(导线,开关)
	数字电路逻辑原件图:见视频11季-0.20秒 
	基本操作步骤:
	确定要控制的电子单元-查看电路图,确定寄存器-查看用户手册(芯片的),寻找寄存器地址
与:

在这里插入图片描述
在这里插入图片描述
1,1 ->1
a1,a2都通,y才通

在这里插入图片描述
一个通就行

在这里插入图片描述
你通我就不通
上图下面的例子是与非门的符号等式和或非门的符号等式
操控高低电平主要是晶体管来进行

.arm体系以及环境

.1 主流芯片

arm官网:www.arm.com
在这里插入图片描述

.1 搭建环境

把gcc工具编译链加到环境变量----vim /etc/environment 里
在linux里安装souceinsight
	下载一个wine sudo apt install wine
	回到桌面,出现wine软件,他会模拟window
	把si移动到相关目录并cd
	wine xxx.exe

.2 学习的内容

arm---指令集以及译码工作
寄存器---管脚引导到的寄存器,用arm指令控制它输出高低电平
arm汇编---因为没有操作系统,要操作寄存器就需要用汇编
cash---操作过程中会有虚拟内存,缓存机制
mmu---除了寄存器,还有mmu,内存管理机制
协议---不同的协议(网卡,com,蓝牙),连接协议不一样
arm的芯片系列文档观看

.3 开发工具

qeml - 模拟路由器
buybox - 编译生成rootfs文件夹,不用一个,去编译
scrarchbox-交叉编译平台
uboot
uefi-统一可扩展部件接口,规定了硬件的条件,系统跟随硬件,没有这些硬件就装不了(可以限制盗版)‘了,
模拟arm的开发环境工具:详见29-12.00
工具链
工具链的工作原理工具链的工作原理
在这里插入图片描述
eabi:嵌入式 应用 二进制 接口
编译链命令
在这里插入图片描述

.Arm寄存器,模式和指令合集

Arm指令集

32位指令集
thumb指令集--16位,代码密度高,运行慢
thumb指令集--16位和32
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Btobk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值