ARM
文章平均质量分 83
MyeDy
固件开发
展开
-
scons 搭建嵌入式arm编译
最近发现scons真的很好用,python语法比makefile友好很多。准备用scons 替换掉项目中的makefile,重新搭建build system。本文是之前自己刚开始学习scons的一个小demo,用来编译一个嵌入式arm的项目。项目目录-scons_demo - boot.s - cm4.ld - compiler.py - main.c - SConstruct - driver - SConscript - qemu_print.c - sub_driver原创 2021-01-08 17:25:15 · 1518 阅读 · 1 评论 -
imx6ull-qemu 裸机教程2:USDHC SD卡
文章目录1 6UL的USDHC简介1.1 USDHC Block Diagram1.2 USDHC支持的模式1.3 外部信号1.4 Data Buffer1.5 ADMA1.5.1 ADMA Engine1.5.2 ADMA2 Descriptor格式1.6 Register2 SD协议简介2.1 SD总线拓扑2.2 SD总线协议2.3 SD卡功能描述3 QEMU SD卡读写demo3.1 USD...原创 2020-01-29 21:50:25 · 5756 阅读 · 0 评论 -
imx6ull-qemu 裸机教程1:GPIO,IOMUX,I2C
无意间搜到了韦东山老师的6ul网站,上面有一个6ul的qemu仿真器,下载下来用了用,非常好用,有UI,比原装的qemu-system-arm提供的6ul开发板多了很多功能。下面贴出的就是韦东山老师的qemu网站:百问网imx6ull-qemu但是默认的跑了linux,没有裸机的例程。所以本文写了几个裸机的程序以供参考学习6UL芯片。本教程源码目标实现以下模块的裸机程序:GPIO L...原创 2020-01-29 09:53:07 · 6031 阅读 · 9 评论 -
armv8m(cortex m33) MPU实战
文章目录1 MPU1.1 Memory attributes summary1.2 MPU寄存器1.2.1 MPU Type Register1.2.2 MPU Control Register1.2.3 MPU Region Number Register1.2.4 MPU Region Base Address Register1.2.5 MPU Region Limit Address Re...原创 2020-01-08 20:37:33 · 6962 阅读 · 6 评论 -
AMBA协议学习小记
AMBAAPBAPB2接口PCLK -Peripheral clockPADDR[..] -Peripheral address busPWRITE -Peripheral read/write signalPWDATA[..] -Peripheral write data busPRDATA[..] ...原创 2018-07-15 13:45:16 · 9999 阅读 · 4 评论 -
CMSIS CM3源码注解
文中截图摘自《Cortex_M3权威指南》core_cm3.h1 Memory Map/* Memory mapping of Cortex-M3 Hardware */#define SCS_BASE (0xE000E000) /*!< System Control Space Base Ad...原创 2018-03-18 13:16:05 · 1988 阅读 · 0 评论 -
自制嵌入式操作系统 DAY3
今天实现事件控制块,存储管理以及定时器。1 事件控制块本节代码位于12_event中什么是事件控制块呢?可以这样理解,前面学习我们已经知道,创建一个任务需要给这个任务分配一个任务控制块,这个任务控制块存储着关于这个任务的重要信息。那么,事件控制块就好比任务里的任务控制块。它存储着这个事件的重要信息,我们说创建一个事件(信号,邮箱,消息队列),其本质的过程就是初始化这个事件控制块...原创 2018-03-04 20:13:11 · 738 阅读 · 0 评论 -
自制嵌入式操作系统 DAY1
遥想当年刚学习操作系统的时候,很难理解教科书中关于线程/进程的描述。原因还是在于操作系统书上的内容太过抽象,对于一个没有看过内核代码的初学者来说,很难理解各种数据结构的调度。后来自己也买了一些造轮子的书,照着好几本书也造了几个玩具操作系统,有X86,有ARM的。经过实践之后回头再去看操作系统的书,才恍然大悟操作系统书中所写的知识点。 看了许多操作系统实践类的书籍后,有些书只是浅尝辄止,试图用30...原创 2018-02-19 19:26:06 · 6144 阅读 · 1 评论 -
自制嵌入式操作系统 DAY2
话不多说,直接进入正题,今天要实现的便是RTOS任务相关的所有功能1 临界区保护本节代码在05_critical下为什么需要临界区保护呢,请看下图: 当task1要对共享资源进行读-改-写操作时,在写回之前被某一事件中断打断切换到task2,而此时task2恰巧也有修改共享资源x的代码,此时task2将共享资源修改成了11,当完成这个操作后,task2交出cpu控制权,此时R...原创 2018-02-21 18:17:22 · 743 阅读 · 0 评论