随笔分类 -  arm基础知识

摘要:参考文献:https://www.rt-thread.org/document/site/programming-manual/basic/basic/ 一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘。编译器会将一个程序分类为好几个部分, 阅读全文
posted @ 2019-11-30 23:06 三七鸽 阅读(2331) 评论(2) 推荐(3)
摘要:一. 什么是正则 1.1. 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。 正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串 二. 学习正則的工具 2.1. 在线工具:https://je 阅读全文
posted @ 2019-11-26 23:49 三七鸽 阅读(1124) 评论(0) 推荐(0)
摘要:一. 何为gdb 1. UNIX及UNIX-like下的调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具相比于VC、真的优点是具有修复网络断点以及恢复链接等功能,比BCB的图形化调试器有更强大的功能。所谓“尺 阅读全文
posted @ 2019-11-09 16:53 三七鸽 阅读(1162) 评论(0) 推荐(0)
摘要:一. github注册 1. 此部分较简单,请自行脑补 二. 设置SSH key 2.1. 创建ssh key <1>. 在用户主目录下看是否存在.ssh目录,如果存在,查看是否存在id_rsa与id_rsa.pub两个文件是否存在 <2>. 如果不存在,便打开终端,输入自己的邮箱地址,创建SSH 阅读全文
posted @ 2019-08-19 00:14 三七鸽 阅读(579) 评论(0) 推荐(0)
摘要:一. extern的作用 1.1. 当它与"C"一起连用时,如: extern "C" void fun(int a, int b); <1>. 则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名,而不是按照C++的规则 <2>. C++的规则在翻译这个函数名时会把fun这个名字变得 阅读全文
posted @ 2019-07-30 16:41 三七鸽 阅读(211) 评论(0) 推荐(0)
摘要:1. sudo passwd :设置root用户密码 2. 切换用户 方式一:su 方式二: su root 3. 新增普通用户 阅读全文
posted @ 2019-05-04 21:59 三七鸽 阅读(1433) 评论(0) 推荐(0)
摘要:一. STM32程序构成 1.1. STM32的存储空间 1.1.1. RAM 1.1.1.1 单片机的RAM是SRAM. 1.1.1.2. SRAM特点 a.优点,速度快,不必配合内存刷新电路,可提高整体的工作效率,软件上不需要初始化SRAM。 b. 缺点,集成度低,功耗较大,相同的容量体积较大, 阅读全文
posted @ 2019-03-14 16:59 三七鸽 阅读(1654) 评论(0) 推荐(0)
摘要:一. 库的分类 1.1. 静态库(.a) 1.1.1. 静态库的代码在编译过程中已经被载入可执行程序,因此体积比较大。所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 1.2. 动态库(.so) 1.2.1. 动态库又名共享库。 1.2.2. 动态库(共享库)的代码在可执 阅读全文
posted @ 2019-02-19 22:31 三七鸽 阅读(1060) 评论(1) 推荐(0)
摘要:一. 什么是cache 1.1. cache简介 a. Cache 即高速缓冲存储器,是位于 CPU 与内存之间的高速存储器,它的容量比内存小但交换速度快。 b. ARM处理器的主频为上百M甚至几G,而一般的SDRAM的存储周期是很慢的,相对于CPU来说,这时,如果我们把程序和数据都存储在SDRAM 阅读全文
posted @ 2019-01-07 22:19 三七鸽 阅读(1562) 评论(0) 推荐(0)
摘要:一. 安装arm-2009q3 1.1. 在虚拟机创建安装文件夹 1.1.1. 在/usr/local/下创建/usr/local/arm文件夹 1.1.2. 将arm-2009q3.tar.bz2放到相关文件夹 1.1.3. 解压压缩包 a. tar -jxvf arm-2009q3.tar.bz 阅读全文
posted @ 2019-01-05 00:13 三七鸽 阅读(686) 评论(0) 推荐(0)
摘要:一. 刷机初识 1.1. 什么是刷机 a. 刷机就是通过各种手段把相应镜像烧录到设备中,让设备可以运行起来。常见的刷机如:安卓刷机,QT刷机 1.2. S5PV210刷机镜像 1.2.1. 刷安卓所需要的镜像 a. uboot镜像: uboot.bin b. linux kernel镜像:zImag 阅读全文
posted @ 2019-01-04 22:17 三七鸽 阅读(766) 评论(0) 推荐(0)
摘要:一. 什么是协处理器? 1.1. SoC内部另一处理核心,协助主CPU实现某些功能,被主CPU调用执行一定任务。 1.2. ARM设计上支持多达16个协处理器,但是一般SoC只实现其中的CP15.(cp:coprocessor) 1.3. 协处理器和MMU、cache、TLB等处理有关,功能上和操作 阅读全文
posted @ 2019-01-03 23:08 三七鸽 阅读(293) 评论(0) 推荐(0)
摘要:一. 数据处理汇编指令 1.1. 数据传输指令 1.1.1. mov(Move) 指令 示例:mov r0, r0, LSL#3 ; r0 = r0* 8 mov pc, r14 ; 退出到调用者 movs PC, r14 ; 退出到调用者并恢复标志位 1.1.2. mvn(move negativ 阅读全文
posted @ 2019-01-03 22:45 三七鸽 阅读(670) 评论(0) 推荐(0)
摘要:一. 指令和伪指令 1.1. 指令 a. (汇编)指令是CPU机器指令的助记符,经过编译后会得到一串10组成的机器码,可以由CPU读取执行。 1.2. 伪指令 b. (汇编)伪指令本质上不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机 阅读全文
posted @ 2019-01-03 00:36 三七鸽 阅读(282) 评论(0) 推荐(0)
摘要:一. ARM的基本设定 1.1. ARM 采用的是32位架构 1.2. ARM约定: a. Byte : 8 bits b. Halfword :16 bits (2 byte) c. Word : 32 bits (4 byte) 1.3. 大部分ARM core 提供: a. ARM 指令集(3 阅读全文
posted @ 2019-01-03 00:25 三七鸽 阅读(278) 评论(0) 推荐(0)
摘要:一.CPU从指令集角度分类 1.1. CISC (X86) 1.1. 1. CISC CPU 指complex instruction set computer复杂指令集CPU 1.1.2. CISC体系的设计理念: a. 是用最少的指令来完成任务(譬如计算乘法只需要一条MUL指令即可),因此CIS 阅读全文
posted @ 2019-01-02 23:48 三七鸽 阅读(315) 评论(0) 推荐(0)