![](https://img-blog.csdnimg.cn/89b5b184e4c24a5ea21047452e40b158.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式
文章平均质量分 68
linux平台下基于s5pv210带你走进嵌入式开发这条不归路,arm裸机、uboot与kernel介绍和移植、linux下的c应用编程、驱动开发。
胡代洲
埋头拉车,抬头看路
展开
-
设备树基础知识
什么是设备树设备树device tree,简称dt在linux中用来做参数的表示和传递。在早期的linux版本其实也有参数的表示和传递的行为,例如uboot给kernel通过bootages传参,只不过那种做法并不太好,而设备树则更巧妙的解决了这种问题。设备树是一个合集,主要包含了dts(device tree source)设备树源文件、dtc(device tree compiler)设备树编译/反编译/调试工具、dtb(device tree blob)二进制设...原创 2022-05-18 22:16:17 · 1359 阅读 · 0 评论 -
编辑器vim基础
vi打开文件命令格式:vi 文件名.扩展名目录下有相同文件名就打开,没有时自动创建。vi的两种模式:命令模式:当vi打开时默认为命令模式,在命令模式下,此时键盘上输入的所有东西都被vi当作命令来对待。输入模式:命令模式下按a或者i键要切换成输入模式,屏幕下方显示 -- INSERT –输入模式用来向文件输入内容。输入完成后按ESC键退回到命令模式。保存命令:wq...原创 2022-03-20 18:37:16 · 218 阅读 · 0 评论 -
内存基础
SRAMSRAM静态随机存储,不需要初始化,可直接运行使用。与Norflash类似。具有容量小,价格高等特点。SDRAMSDRAM动态随机存储,需要初始化才能使用,DDR是SDRAM的升级。DDR被称为块(bank)设备,即以块为单位访问,芯片引脚BA0-BA2用来选择bank,再通行线(row_addresss)14位 、列线(column_address)10位;来定位bank内的具体地址,210开发板的ddr技术手册(NT5TU64MGG-DDR2-1G...原创 2022-01-17 09:57:38 · 318 阅读 · 0 评论 -
重定位的实现
概念dbug版本 & release 软件编译过程为 预编译、编译、链接,链接后的文件已经是二进制文件,cup已经可以运行,此时的版本被称为dbug版本,但是dbug版本的二进制信息中有很多的符号信息,如函数名,目的是用于调试,反汇编时就可以显示出符号,实际符号cpu是不需要的,所以可以使用strin工具将其符号信息去掉,就变成了release发布版,程序中通常有三分之一的空间是符号,所以release可以节约空间。程序段编译器把一个程序分成多个段(代...原创 2022-01-12 10:46:25 · 314 阅读 · 0 评论 -
makefile编译指令解释
先编译后链接,与gcc不同(编译链接执行),编译使用gcc,链接器ld;write1sd 脚本文件说明:led.bin: start.o // :前的内容为目标(可直接做指令使用)也是默认目 //标,:后面的是依赖;arm-linux-ld -Ttext 0x0 -o led.elf $^ //链接,将.O文件链接成可执行程序led.elf。系统能...原创 2022-01-11 09:51:18 · 588 阅读 · 0 评论 -
x210_imge.c校验头
校验头的作用:是为BL1(裸机中的源代码如led.bin)添加校验头。除了usb启动和uart启动外,其余的启动方式BL0都会对可执行文件进行校验。 以0x20000000为起始地址的前16个字节(结束地址0x20000010)用于存放校验头。 实际不管是usb还是sd卡,被拷贝到SRAM中都有校验头,只是usb方式启动时,bl0不管,字节跳到20000010开始执行。 校验头各地址的作用:第一个字节(0x20000000):校验头的大小,固定为16byte...原创 2021-12-16 09:12:44 · 116 阅读 · 0 评论 -
ARM汇编指令集
汇编特点LDR/STR架构:CPU不能直接处理内存,只能读寄存器,因此需要将内存的内容拷贝到寄存器后再处理。LDR(load register):内存->寄存器;STR(store register):寄存器->内存;8种寻址方式寄存器寻址: mov r1, r2 //把r2的内容移动到r1; 立即寻址: mov r0, #0xff00 //把数字0xff00移动到r0; 寄存器移位寻址: mov r0,r1,lsl#3 //把...原创 2021-12-15 10:02:23 · 366 阅读 · 0 评论 -
s5pv210的工作模式
为什么需要多种模式, 操作系统需要。在s5pv210CPU中有1个用户(user)模式、6个特殊模式(systerm-系统模式,FIQ高级中断,IRQ-普通中断,supervisor-复位时进入该模式 ,abort异常模式;undef未定义指令模式);s5pv210寄存器:s5pv210内部共37个寄存器,除了通用寄存器外,在不同的模型下有自己特有的寄存器,这些寄存器用来保护本模式的运行状态,使其cpu跳转后不会复位,每个模式的寄存器配置如下:普通模式:R0-R1...原创 2021-12-15 09:34:32 · 388 阅读 · 0 评论 -
存储类型学习笔记
存储器分类RAM:数据存储器,使用CPU总线连接,访问速度快,仅次于内部寄存器;ROM:程序存储器,使用特定协议进行访问,访问速度较慢。Norflash Cpu总线访问,价格高,容量小,一般用来用做启动,如BIOS,启动类的存储器容量要求不高;Nandflash :容量大,价格低,不能上电直接读取,需要初始化。EMMC(类似于SD卡)外形呈现芯片;iNand也是emmc的一种,只是生产厂家不一样;...原创 2021-12-14 10:25:21 · 317 阅读 · 0 评论 -
九鼎Study210嵌入式开发板刷机笔记
本刷机笔记是基于S5PV210的九鼎Study210嵌入式开发板。准备电脑通过串口线连接到开发板的UART2(靠近电源,与裸机不同)。usb线连接到开发板OTG端口。开发板接入电源,串口助手打开,开机,只要连接成功,无论开发板是否启动了uboot都可以收到板子串口打印的信息。破坏uboot开发板出厂时,板载inand内烧录有uboot,开发板上电后会默认读取inand的程序执行,如果想从sd卡启动需要先破坏inand的程序,使其启动失败后,...原创 2021-12-14 10:10:43 · 810 阅读 · 0 评论 -
uboot基础
为什么需要uboot嵌入式linux的启动与android启动阶段相同,上电后开始执行BootLoader(bootloader的种类有很多但99%都是使用的uboot),uboot初始化ddr和flash,将flash中的系统(OS)读取到ddr中,再跳转到ddr中启动OS,完成后uboot就停止了。uboot到底要干什么自己要能启动,所以uboot以汇编开始,后去构建c的环境;终极目标就是启动操作系统内核,并给内核传参,由于两则工作的时间段...原创 2021-12-10 09:21:32 · 2274 阅读 · 0 评论 -
linux常用命令
快速打开终端快捷键:ctrl+Alt+T可执行文件运行./文件名.扩展名(必须有可执行权限)source 文件名.扩展名lslist使用列表把当前文件夹下所有文件显示出来ls -a 显示所有文件,包括隐藏文件ls -l 以详细信息显示ls -a -l、 ls -l -a、 ls -la、ls -al 四种方式都是可以注意:显示的大小不是文件内容的大小,需使...原创 2021-12-02 09:27:09 · 144 阅读 · 0 评论 -
linux基础
什么是linuxLinux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由芬兰人林纳斯于1991年10月5日首次发布,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如debian、ubuntu、centOSlinux中权限表示&管理Windows中有普通用户和Administrator,linux有普通用户和root用户,特权用户是系统的管理员,对系统内所有文件具有操作权限。每个普通用户只能处理自己的文...原创 2021-12-02 09:11:33 · 1277 阅读 · 0 评论 -
nfs服务器搭建
概述NFS:Network File System(网络文件系统),NFS只是一种文件系统,本身并没有传输功能,是基于RPC协议实现的,为C/S架构。也就是说,NFS也只是文件系统而已,与jffs2,yaffs,ext4等是一类东西。但是NFS的特殊之处在于,它可以通过网络来挂载文件系统,而不用烧写到设备上,从而方便我们调试。这就跟早期的网吧里使用PXE启动来搭建无盘系统一样:每台电脑并没有安装硬盘,而是直接通过PXE启动服务器上的系统,看起来每台电脑都有硬盘,其实都是挂载服务器上的...原创 2021-11-30 10:37:56 · 417 阅读 · 0 评论