课程简介 课程目标 理解操作系统的设计和实现 通过 XV6 操作系统动手实验,可以扩展或改进操作系统 操作系统的目标 Abstraction:对硬件进行抽象 Multiplex:在多个应用程序之间共用硬件资源 Isolation:隔离性,程序出现故障时,不同程序之间不能相互干扰 Sharing:实现 ...
ESP32 Arduino开发 MQTT 目录ESP32 Arduino开发 MQTT1. 安装程序库2. 编写相关程序2.1. 引入头文件2.2. 定义MQTT相关参数2.3. 创建对象2.4. 连接网络2.5. 连接MQTT服务器2.6. MQTT回调函数3. 完整的代码例程4. MQTT连接测 ...
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是使能i.MXRT1050, 1060 Hab签名或加密启动时App链接在片内SRAM的限制。 最近有客户反馈,在 RT1060 上测试 Non-XIP 程序启动,如果程序体部分链接进 0x20280000 地址之后的片内 OCRAM 区 ...
在我写虚拟内存时遇到一些问题,jalr t0就是可以的,而call main则没办法成功 而且这里默认main是偏移前的地址,怪哉!!! 让我们看看jalr 和call(伪指令!!!) 然后在链接后看看main的地址,主要看程序中main是不是偏移 悬着的心也死了!!! 查看一下ucore也有类似的 ...
痞子衡嵌入式半月刊: 第 97 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 ...
因为当前项目单片机容量不够使用,打算开启编译器优化,结果在使用KEIL编译器优化后,程序在发送Modbus数据时,程序直接跑飞了 先说结论: 最后发现是局部变量指针作为了DMA的内存地址参数,导致当DMA连续搬运数据时,实际那个局部变量已经被释放,导致DMA搬运数据的过程中出现错误,但是为什么没优化 ...
ESP-IDF NVS 目录ESP-IDF NVS1. 什么是NVS?2. NVS中的概念2.1. partition 分区2.2. namespace 命名空间2.3. key-value 键值对3. ESP-IDF中NVS的代码实现 1. 什么是NVS? 非易失性存储 (NVS) 库主要用于在 ...
MCP2515是SPI转CAN 模块 建议在完成且掌握泰山派小手机项目的全过程后进行此操作,这样难度会低一些 目标平台: 泰山派 连接: rk3566(泰山派)的spi3各管脚连接MCP2515的SPI接口,另外MCP2515还需要一个中断引脚,用到的全部管脚如下: 其中GPIO3_A6为中断引脚 ...
关于PPM输出的具体实现我们必然先知道其原理,本人是参考站内qiyuexin大佬的PPM 信号解析这篇文章。 基本要点 1.ppm每个通道所占用的时间并不固定 2.ppm的精度主要受制于时钟精度 3.对于一个通道数据每次开头都有0.5ms的固定低电平,之后跟着0.5ms的固定的高电平,之后是0 - ...
g++编译os的memory'时不知道为什么报错。尝试了很多方法(也可能搜错了) 可以确定是纯虚函数出现了问题 复习一下虚函数的子类构造和析构的过程吧(一年过去了) 允许派生类调用父类的同名函数而实现不同的功能,也叫动态联编。 底层原理:虚函数表+虚函数表指针。每一个类都会对应一个虚函数表,一个存放 ...
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1xxx系列GPIO提早供电会影响上电时序导致内部DCDC启动失败。 最近有一个 RW612 产品线的同事在设计一个双 MCU 系统 Demo 时发现,当 RW612 板卡和 RT1060 板卡通过 UART 对接时,如果 ...
代码参考出处:https://github.com/mcuwty/osal.git 我在此此基础上做了整理,移植到了stm32f103上:demo链接: https://pan.baidu.com/s/1WoL8QCnicxO11hdeh4uh2Q 提取码: wsn3 参考资料: 学习笔记(二)—— ...
参考 Fedora Quick Docs Fedora Server Documentation Deploy an ARM64 Fedora VM on your PC: 3 steps Architectures/AArch64/Install with QEMU Virtualization ...
痞子衡嵌入式半月刊: 第 96 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 上期回顾 ...
Arduino IDE 环境配置 目录Arduino IDE 环境配置1. 安装方式2. 操作方法(Arduino中文社区)2.1. 安装Arduino IDE2.2. 下载固件2.3. 修改Arduino IDE语言2.4. 添加开发板管理网址2.5. 运行离线包2.6. 检查安装是否成功 1. ...
本文主要学习 FreeRTOS 低功耗的相关知识,包括HAL 库基础时钟、FreeRTOS 基础时钟、低功耗处理和 Tickless 模式等知识 ...
本文主要学习 FreeRTOS 软件定时器的相关知识,包括软件定时器回调函数、属性、状态、运行原理和常见 API 函数等知识 ...
Uboot功能 Uboot(Universal bootloader)就是一个裸机程序,用于启动内核。不过相较于单片机程序更加复杂 相关知识补充 Uboot:Universal bootloader XIP:CPU可以直接发出地址信号读取Flash/RAM,执行指令(可以看成直接在Flash/RAM ...
本文主要学习 FreeRTOS 任务通知的相关知识,包括FreeRTOS中的通信手段、任务通知的优缺点、任务通知 API 函数等知识 ...
本文主要学习 FreeRTOS 事件组的相关知识,包括事件组概述、事件组特征、创建事件组、操作事件组、删除事件组等知识 ...