嵌入式
文章平均质量分 80
嵌入式相关开发记录
Thinking_calculus
这个作者很懒,什么都没留下…
展开
-
honor magicbook 16pro
荣耀magicbook16 pro(2021)3050版本拆机原创 2022-06-26 07:01:39 · 3771 阅读 · 0 评论 -
拆机-戴尔3558
戴尔3558工具: 螺丝刀,指甲钳套装重要: 这台设备一开始看后盖位置,大概清楚可以直接换内存和机械,后面同时想把光驱拆下来装机械,但过程中一些问题有很多需要注意的地方。拆开默认的后盖,这部分easy[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dhLAMnbf-1630784472824)(pic\拆机\电脑\戴尔3558\初步.png)]如图只要拆掉默认的螺丝并沿着撬开就可以(撬开的时候,内存和网卡位置不要伸到太里面,以免损伤到)拨开机械硬盘的排线和网原创 2021-09-05 03:52:30 · 7959 阅读 · 0 评论 -
树莓派基础(raspberry zero)
树莓派入门入门由于买的是没有网络模块的版本,可以使用板子上的串口作为默认的数据显示,raspberry zero 的引脚图修改sd卡boot中的config.txt文件,在最后添加enable_uart=1,连上usb-ttl 模块,使用putty,切换到串口连接状态先连接usb-ttl,后上电,过一会有系统初始化的打印就可以,系统初始化成功后登录username:pi pwd:raspberry,获取rootsudo -i其他操作和ubuntu差不大,毕竟都叫debian爸爸参考树莓派ra原创 2021-08-08 03:58:42 · 761 阅读 · 0 评论 -
ESP32入门之环境搭建
ESP32入门官方指南快速入门环境搭建(Ubuntu in WSL)WSLVersion:WSL1由于WSL2还不支持串口,所以只能采用WSL1来搭环境,可以采用以下的两种方式系统迁移win中将WSL2的系统迁移可以使用wsl --set-version [system_name] 1,将指定名称的WSL系统迁移到版本1直接装一个新的wsl系统如果原本的系统储存已经很大了,方法一要运行一段时间在确定是WSL1后ls /dev,会看到很多ttyS*的设备号,这些设备号对应win设备管理原创 2021-06-28 01:12:34 · 1946 阅读 · 1 评论 -
ucos 内核成员分析
优先级ucos3使用64个优先级,每个优先级中可以有多个不同的任务(除了0和末尾优先级)优先级表初始化过程void OS_PrioInit (void){ CPU_DATA i; //无符号整形32 for (i = 0u; i < OS_PRIO_TBL_SIZE; i++) { OSPrioTbl[i] = (CPU_DATA)0;//清空任务表中的任务OS_PRIO_TBL_SIZE=2,相当于只有64个优先级,可以使用cpu函数CPU原创 2021-03-28 11:58:06 · 253 阅读 · 0 评论 -
UCOS系统总运行原理
系统总运行原理在步进调试时发现,实际上使用OSTaskCreate()在ucos中构建应用的过程,实际上只是创建堆栈,设定应用行为,引导应用函数指针等的数据操作,OSInit()中的设定也是类似,实际都是数据填充,在调试过程中,发现main()中的最后运行函数是;/**************************************************************************************;* 函数名称: OSStartHighRdy;*;* 功能描述原创 2021-03-28 11:46:51 · 410 阅读 · 0 评论 -
UCOS任务切换
八:任务切换堆栈初始化由于抢占式任务的需要,每个任务需要有自己的任务堆栈,在任务初始化函数OSTaskCreate中,通过传递p_stk_base来指出创建的那部分数组空间,最终在OSTaskStkInit中初始化该数组所储存的最初的数据:通用寄存器的值。由于通用寄存器的内容涉及到程序运行的各个过程,相关内容参考寄存器,此外,由于任务堆栈是从大地址到小的增长方式,所以寄存器的值实际上是放置在任务堆栈的末尾,然后从末尾一点点增加其他的数据的,这一点不要混淆。CPU_STK *OSTaskStkInit原创 2021-03-26 15:02:35 · 886 阅读 · 0 评论 -
CM3基础(持续更新)
CM3基础操作模式和特权级别参考Cortex-M3操作模式和特权级别总结系统有两种模式,handler模式和线程模式,前者始终位于特权级(用于处理异常),后者有特权和用户级两种。特权级别能够访问更多的数据范围。在系统复位后运行在线程模式的特权级下,位于特权级可以通过置为control[0]来进入用户级,而用户级别要进入特权级,只能被动等待异常出现然后进入handler模式来进入特权级。如下图MSP&PSPSP是堆栈指针,用于指向系统当前使用的堆栈位置,其实际位置取决于MSP或者PSP指原创 2021-03-26 14:57:16 · 1336 阅读 · 0 评论 -
汇编入门(持续更新)
汇编入门ARM汇编与ARM GNU汇编 区别汇编风格有多种,linux下的gcc是at&t的汇编,此外还有intel和ARM的汇编开始在Linux下使用汇编语言不同风格注释方式都不一样GNU ARM 汇编汇编(ARM)LDRLDR{条件} 目的寄存器 <存储器地址>LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的原创 2021-03-23 23:20:28 · 1420 阅读 · 0 评论 -
ucos信号量消息队列
消息队列测试代码全局变量static int msg_int;OS_Q DATA_Msg;//消息队列主任务void start_task(void *p_arg){ .... OSQCreate ((OS_Q* )&DATA_Msg, (CPU_CHAR* )"DATA Msg", (OS_MSG_QTY )1, (OS_ERR* )&er原创 2021-03-16 19:40:33 · 246 阅读 · 0 评论 -
ucos信号量
信号量SEMAPHORES官方释义信号量最初是一种机械的信号机制。铁路工业利用这种装置为多列火车共用的铁路轨道提供了一种互斥形式。在这种形式下,信号量通过关闭一组机械臂来锁定当前使用的铁轨上的火车来向火车发出信号。当轨道可用时,手臂就会向上摆动,等待的火车就会继续前进。在软件中使用信号量作为相互排斥的手段的概念是由荷兰计算机科学家Edgser Dijkstra在1959年发明的。在计算机软件中,信号量是大多数多任务内核提供的一种协议机制。信号量,最初用于控制对共享资源的访问,但现在它们被用于同步。信号原创 2021-03-14 16:11:26 · 202 阅读 · 0 评论