
嵌入式学习笔记
Tinelines
这个作者很懒,什么都没留下…
展开
-
嵌入式学习笔记-uboot第一阶段分析
1.通过链接脚本,我们可以定位到_start:这个标号,这个标号位于Start.s文件中以下是 _start:的部分代码.globl _start_start: b reset ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ldr pc, _not_used ldr pc, _irq ldr pc, _fiq2.之后程序进入原创 2022-05-25 23:11:16 · 225 阅读 · 0 评论 -
在linux下搭建tftp服务器遇到的一些问题
最近在学习uboot系统移植,总结下过程中遇到的问题开发板通过tftp服务器 读取主机中的内核文件 完成将内核加载到开发板flash的过程1.开发板ping通主机这个阶段遇到的主要问题就是虚拟机的联网问题,在通过/etc/networking/interfaces 设定好虚拟机的ip地址,网关,子网掩码,完成开发板ping通主机的环节后,将虚拟机网络连接选项切换回nat模式无法征程上网解决方法是,将网络连接设计设定为自定义模式,并选择自定义模式中的nat模式,重启网卡,解决解决过程先是尝试pin原创 2022-04-30 11:05:57 · 751 阅读 · 0 评论 -
嵌入式学习笔记-如何反汇编分析问题
文件类型汇编文件的后缀名一般是.s,反汇编文件的文件后缀名为。dis文件这两个的后缀名是取其对应英文单词的首字母 汇编 assemble 反汇编 disassemble 因.a 被用作静态链接库类型使用,所以取.s为文件名后缀反汇编文件必须从可执行文件.elf文件中的出, bin文件虽然也是二进制文件,但是在编译的过程去除了例如像_start这样的文件标号,无法被反汇编成汇编程序反汇编程序的指令为objmp?...原创 2021-07-15 22:11:58 · 584 阅读 · 0 评论 -
嵌入式学习笔记-shell是个什么东西
shell是什么shell是一种脚本语言什么是脚本语言脚本是由单词script翻译来的,在用到计算机前这个词的意思是剧本,由于脚本语言与非脚本语言的最大区别就在于是否要编译后执行,脚本语言在执行前是一句一句解释着运行的,这就有点像在拍摄时剧本的作用,一句话对应着一个动作的感觉,所以也回称脚本语言是解释运行的但实际上程序都需要转化称二进制才能被机器所理解,其他语言是先将写好的程序全部编译连接完成,然后把他们全部放到芯片里去,而脚本语言则大部分是调用已写好的程序来执行,了解shell发明的历史可以发现原创 2021-07-11 09:49:58 · 377 阅读 · 0 评论 -
嵌入式学习笔记-Makefile的制作和使用
首先我们需要知道makefile是什么makefile是一个用于帮助我们编译的文件,使用makefile可以简化我们每次的操作makefile的组成目标依赖命令目标决定了那条命令将被执行,依赖就像原材料,是输入的参数不过最终完成工作的还是makefile中已经写好的指令通过使用make指令,便可以实现指定目标下的命令一个makefile中可以有多个目标,可以使用make命令执行当前目录下的makefile,在使用makefile的过程中只需要在后面加上目标便可以执行对应程序在没有特意指.原创 2021-05-20 12:14:17 · 243 阅读 · 0 评论 -
嵌入式学习笔记-虚拟机环境搭建
虚拟机与Ubuntu系统Ubuntu系统是一款以linux为内核设计的一款操作系统共享文件夹 VMTools 与samba服务器共享文件夹是一个可以实现在windows和linux之间进行文件交流的文件夹,当想要windows中的文件传到linux中时,就可以使用这个文件夹不过在某些情况,可能存在无法使用的情况,这种情况可能就需要使用vmTools这个工具了?共享文件夹可以直接在虚拟机内进行设置,在设置中选择开启共享文件哎i你家...原创 2021-05-06 06:56:39 · 245 阅读 · 0 评论 -
嵌入式学习笔记-使用交叉编译工具链的几种方法
1.当想要通过已安装好的交叉编译工具链进行编译时,可以使用文件名使用但是每次都需要输入文件路径这点又比较麻烦,所以在实际使用中,往往会通过在PATH中添加环境变量的方式来实现只需要输入文件名就可以直接使用所谓环境变量,实际上就是操作系统环境下的全局变量,如果想要添加环境变量,则需要在PATH下添加所需文件的绝对路径...原创 2021-05-04 10:13:17 · 294 阅读 · 0 评论 -
嵌入式学习笔记-关于刷机的二三事
主要需要的刷机方式有两种,一种是使用SD卡启动,一种是通过USB启动SD卡的启动需要先将原有程序中的uboot破坏,破坏之后要先通过九鼎的下载软件将uboot的bin文件加载到SD卡中这样当开发板上电后,210在boot选择阶段无法从emmc中...原创 2021-05-03 10:42:47 · 404 阅读 · 0 评论 -
嵌入式学习笔记-linux基础知识
apt -get指令apt -get install 安装软件apt -get remove 卸载软件通过系统内部的网址下载对应版本的软件该指令需要管理员权限,并且需要联网使用lsls -l 显示当前目录下的所有文件,并显示文件属性...原创 2021-04-18 21:32:26 · 106 阅读 · 0 评论 -
嵌入式学习笔记-汇编常用符号与伪指令
@:.伪指令前面通常都带一个点,以显示出于指令的不同.globe.start.short/.long/.word.end.include.ldr ldr既有指令也有伪指令,区别在于使用ldr指令有一些需要注意的点,如合法立即数非法立即数,而使用伪指令则不存在这种问题,因为编译器会将你输入立即数的转换成为合法的方式加载到寄存器补充:合法立即数与非法立即数,由于一条指令只有32位,而指令又要存放其他数据,所以不能所有为位数都用来存放立即数,arm规定只能附带8位立即数,但这个..原创 2021-01-26 20:34:16 · 903 阅读 · 1 评论 -
嵌入式学习笔记-汇编指令03
协处理器(coprocessor)协处理器是用来减轻cpu负担只执行特定指令的处理器arm微处理器可支持多达16个协处理器,用于协处理操作但是一般只附带最后一个处理器cp15通过这两个指令mcr/mrc 与协处理器进行指令传输访存指令详解 在只需要进行单字传输时,用ldr和str进行访存即可当需要与内存见的大量信息传输时就需要用到ldm/stm两条指令了ldm/stm r0,{r1,r2,r3}指令后缀ia (increase after) 先将数据写入,再偏移地址ib (i..原创 2021-01-21 20:32:29 · 315 阅读 · 0 评论 -
嵌入式学习笔记-汇编基础02
数据处理指令cpsr指令分支跳转指令访存指令ldr/strldm/stmswp软中断指令原创 2021-01-15 22:31:58 · 280 阅读 · 0 评论 -
嵌入式学习笔记-汇编基础
汇编的指令与伪指令指令是cpu机器指令的助记符,通过编译会得到机器码伪指令是编译器为辅助引导编译过程而加入的指令,没有实际作用两种风格的ARM指令官方推荐的大写风格 同时也是windows平台用的风格gcc风格则是小写风格arm通过寄存器名寻找通用寄存器ARM汇编特点读-改-写 LDR与STR架构RISC架构是无法直接读取内存内的数据的,这也是与CISC不同的一点,所以RISC的芯片想要读取数据就要通过芯片内部的寄存器通过“读改写”的方式间接访问内存,即cpu先让寄存器先将对应的内.原创 2021-01-12 22:27:51 · 498 阅读 · 2 评论 -
嵌入式学习笔记-1.2节以学部分回顾
1.2.1:讲解了程序是如何演化的并一步一步演化到今天的多种语言的,从01纸条打孔,到汇编指令替代二进制,到C语言,再到如今的java,python, c++,其语言效率递减,但编程复杂度降低,可合作性移植性提高1.2.2 &1.2.3:RISC精简指令集,CISC复杂指令集,复杂指令集的硬件复杂,因为要通过硬件开发实现大部分的功能,而程序员只需对流出的指令惊醒变成即可,逻辑部分少于精简指令,而RISC的指令集可能只有二十几条,其余的可能都要通过程序实现,灵活度更高...原创 2021-01-09 18:31:06 · 186 阅读 · 2 评论