- 博客(35)
- 收藏
- 关注
原创 ARM汇编
数据和指令类型数据和指令类型ARM采用的是32位架构ARM约定Byte :8 bitsHalfword :8byte)(Cortex-A处理器)大部分ARM core提供:ARM 指令集(32-bitThumb 指令集(16-bit。
2024-09-09 19:56:21
1050
原创 ARM体系结构
概念:在ARM处理器中,RAM(随机存取存储器)是一种用于临时存储数据和程序的易失性存储器。性能:1.RAM的访问速度通常比ROM和Flash快,适合需要快速数据处理的应用。2.在断电情况下,数据丢失。RAMSRAMDRAMSDRAMDDR(n)静态动态同步概念:在ARM处理器中,ROM(只读存储器)是一种用于存储固件和系统启动代码的非易失性存储器。性能:1.ROM的读取速度通常较快,但写入和擦除操作的速度较慢,尤其是对于EPROM和EEPROM。
2024-09-07 14:50:10
1461
原创 Sqlite3数据库
存放数据,掉电数据不会丢失,软件的配置及想要持续保存的数据放入文件中。数据库文件 -> 表 -> 列1 列2 列3。数据库编程语言主要对表完成:增、删、改、查相关功能。:大批量数据存储和管理时使用。
2024-08-22 20:44:14
146
原创 嵌入式学习日记---DAY24(消息队列、共享内存、信号灯)
IPC对象——内存文件ipcs ——查看所有ipc对象的信息ipcrm -q/m/s 消息队列ID/共享内存ID/信号灯ID。
2024-08-14 19:52:28
236
原创 嵌入式学习日记---DAY21(线程)
资源数 == 0 申请操作会阻塞,直到资源数不为0,申请得到资源后继续向下执行。原子操作:最小的一次CPU操作,在执行原子操作时不会切换调度任务。互斥锁不能同步,多个任务依然保持异步执行,但是可以解决资源竞争。申请:资源数 > 0 申请操作让资源数-1。释放:资源数+1 释放操作让资源数+1。
2024-08-08 17:52:35
276
原创 嵌入式学习日记---DAY20(线程)
同一软件下的多任务考虑用多线程。不同软件下的多任务考虑用多进程。v:参数以指针数组形式传递。p:在系统目录下查找文件。l:参数以列表形式传递。三、多线程与多进程的区别。创建线程,代码编译时使用。四、线程相关的函数接口。
2024-08-07 20:21:43
194
原创 嵌入式学习日记---DAY19(进程)
WIFSIGNALED(wstatus):判断子进程是否被信号打断结束。WEXITSTATUS(wstatus):获取子进程正常结束的状态码。WTERMSIG(wstatus):获取子进程被信号打断结束的状态码。如果子进程没结束,wait会阻塞直到子进程结束回收子进程空间。WIFEXITED(wstatus):判断子进程是否正常结束。wait具有阻塞功能,如果子进程先结束,wait会不阻塞直接回收。
2024-08-06 21:40:18
223
原创 嵌入式学习日记---DAY18(目录文件IO+链接文件IO)
ln -s 要链接向的文件名 软链接文件名。通过在磁盘中存放的inode节点进行链接。删除文件链接关系断开。ln 要链接的文件名 硬链接文件名。
2024-08-02 19:38:37
204
原创 嵌入式学习日记---DAY17(文件IO函数接口+Linux系统中时间的获取)
标准IO中"r"、"r+"、"w"、"w+"、"a"、"a+"对应的文件IO的打开形式。标准IO中使用 fseek函数。文件IO中使用 lseek函数。flags——打开方式。
2024-08-01 19:27:13
193
原创 嵌入式学习日记---DAY16(补充IO函数接口)
如下述代码所述fgets上下两行代码等价于gets。fgets不会去掉用户输入的\n字符。gets会去掉用户输入\n字符。puts会多打印一个\n字符。
2024-07-31 18:49:51
238
原创 嵌入式学习日记---DAY15(Linux基础知识+shell+IO)
w 只写 —— 如果文件存在则清0,只写打开 —— 如果文件不存在则创建。w+ 写读 —— 如果文件存在则清0,读写打开 —— 如果文件不存在则创建。a 追加只写 —— 如果文件存在则追加只写打开 —— 如果文件不存在则创建。a+ 追加读写 —— 如果文件存在则追加读写打开 —— 如果文件不存在则创建。r+ 读写 —— 如果文件存在则读写打开 —— 如果文件不存在报错。perror 基于stderr实现。Linux系统文件分类。
2024-07-30 19:26:43
363
原创 嵌入式学习日记---DAY13(结构体+共用体+枚举+位运算)
括号 > 单目 > 双目 > 三目 > 赋值 > 逗号。算数 > 移位 > 关系 > 位运算 > 逻辑。
2024-07-26 22:51:58
171
原创 嵌入式学习日记---DAY11
定义一个指针变量p,占8个字节空间, 指向一个int类型5个元素的数组的指针,指向20个字节空间。定义数组a,占40个字节空间,共有5个元素,每个元素为int*型指针。一维数组 int a[5];1.sizeof运算时。——在C语言中二维数组传参传数组指针和长度。把a理解为int *型。,数组的每个元素是指针。
2024-07-24 17:55:43
138
原创 嵌入式学习日记---DAY11
指针变量p的值不能变, 但可以利用指针修改指向空间中的值, 一定要对指针初始化。, 指针变量p的值不能变,也不能利用*p改变指向空间中的值, 一定要对指针初始化。,不能修改指向空间中的值。const修饰p和*p。
2024-07-23 18:27:20
198
原创 嵌入式学习日记---DAY10
空指针—— NULL <==> '\0' <==> 0。32位操作系统中 所有类型指针变量占4个字节。64位操作系统中 所有类型指针变量占8个字节。只能对变量&,不能对常量或者表达式。<==> 先 *p;<==> 先*p;值:将等号右边的值赋值给指针指向的空间。——*只能搭配指针类型使用。值:获得指针指向空间中的值。&和*同时出现可以抵消掉。
2024-07-22 19:02:17
397
原创 嵌入式学习日记---DAY9
带参宏是在程序编译阶段加载到程序中 ———— 函数是在程序运行阶段加载到程序中。带参宏会使代码体积增大 —————————— 函数不会使代码体积增大。带参宏没有参数类型、返回值、传参的概念 —— 函数有参数类型、返回值、传参的概念。中值传递:实参将值传递给形参,形参是实参的副本,对形参做的操作,实参不会受影响。带参宏执行效率高 ————————————— 函数执行效率低。函数体内部想使用函数体外部变量值的时候可以使用值传递。带参宏可能改变运算符的优先级,记得加括号。常用于要求不用循环语句时。
2024-07-21 01:44:01
232
原创 嵌入式学习日记---DAY8
函数名:和变量名要求保持一致函数类型:函数运行结果的类型###注意: 如果返回值类型与函数类型不一致,会将返回值强制类型转换成函数类型返回不写函数类型默认为int类型如果没有返回值,函数类型应该为void类型,return后面什么都不写。
2024-07-19 18:38:28
457
原创 嵌入式学习日记---DAY7
有序性:数组存放数据顺序有序 将二维数组逐行从左到右存储。—— 获得字符串的长度(从字符串开头到\0中间元素的个数)在C语言中没有字符串类型,只能通过字符型数组存放字符串。字符型数组存放字符串,必须能够存放下末尾的\0字符。连续性:数组的存储空间是连续的。连续性:数组存放空间连续。有序性:按照顺序依次存放。:是由N-1维数组构成的一维数组。
2024-07-18 19:29:13
176
原创 嵌入式学习日记---DAY6
代码中尽量不要使用goto,会破坏程序的逻辑性、可读性。: 只能在循环或者switch中使用,下标访问:可以是常量、变量、或表达式;出错处理使用goto。定义数组时对数组元素赋值称为初始化,单一性:数组元素只能是同一种数据类型。: 在函数中使用,让当前函数结束。元素个数必须为常量或常量表达式;连续性:数组元素所占空间是连续的。有序性:数组元素的存放顺序有序。相同类型有限个元素的集合。: 只能在循环中使用,
2024-07-17 19:03:56
328
原创 嵌入式学习日记---DAY5
3.switch只与case后面的值比一次,然后顺序向下执行直到break或者switch结束。1.switch后面的表示式类型必须为整形,不能为浮点数类型。2.case后面必须为常量,不允许是变量或表达式。C:每轮循环执行结束后会执行的代码。D:满足条件执行的循环体内部代码。A:for循环前执行一次。可有可没有,根据具体情况使用;注意辨别阶梯分支和嵌套分支。未知循环次数使用while。已知循环次数使用for。
2024-07-16 19:32:44
275
原创 嵌入式学习日记---DAY4
5.scanf中只有%c可以接收' '和'\n'字符,其余均认为是数据结束的标志。4.scanf中' '和'\n'字符表示数据末尾。判断逻辑表达式,成立则执行表达式1,否则执行表达式2。2.gets能够接收带' '的字符串。2.scanf中不要加入\n字符。的三种特殊运算符:单目运算符、三目运算符、赋值运算符。要求1.scanf中内容写的越短越好。——1.gets会去掉从终端接收的\n字符。表达式1:表达式2;——打印时会自动打印一个\n换行符。1.判断逻辑时使用分支语句。—— 格式化输入函数。
2024-07-15 18:16:03
222
原创 嵌入式学习日记---DAY3
赋值运算符中左值可以是变量,不能是常量或表达式;右值可以为常量、变量、表达式。1变量:程序在运行过程中值可以发生改变的量。2.表达式:由常量和变量所组成的式子。-- 自减运算符。++ 自增运算符。设置变量名的时候一定注意。
2024-07-13 20:17:37
262
原创 嵌入式学习日记---DAY2
1.加入打印解决问题 e.g. printf("=============");warning:可以生成可执行程序,但程序中有可能出现错误。c 继续执行到下一个断点。十进制数除以进制数得到的余数逆序排列。对应位 * 对应位的权值再求和。基本数据类型:整数类型、浮点数类型、字符型、缺省类型 、逻辑类型。计算字节数,注意字符常量中进制占1字节,字符串常量中\0占1字节。1.编译代码时必须加-g选项,允许GDB调试。C语言在不同的平台上运行结果是不一样的!
2024-07-12 20:43:04
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人