arm/裸机
文章平均质量分 60
jalen_king
记录点滴,分享沉淀
展开
-
.balignl 16,0xdeadbeef浅析
.balignl 16,0xdeadbeef浅析 最近在分析u-boot的源代码,看到这一行: .balignl 16, 0xdeadbeef 不知道为什么要这样写,0xdeadbeef,明显是个单词组,写在这里有何意义呢?查阅了众多资料的时候才晃然大悟。 下面我一步步来说明: 首先要弄明白.balignl的意思,这其实应该算是一个伪操作符转载 2014-02-28 16:28:20 · 854 阅读 · 1 评论 -
arm的mmu使用方法与协处理器cp15指令的讲解
ARM CP15协处理器4.1.1 访问CP15寄存器的指令访问CP15寄存器指令的编码格式及语法说明如下:31 2827 2423 212019 1615 1211 87 543 0cond1 1 1 0原创 2014-03-22 23:45:27 · 1743 阅读 · 0 评论 -
一个最简单的CLI命令行界面实现
#include "system.h"#include "utils/ui.h"#include "appl/cli.h"/*cli命令行界面,一共可以注册MAX_CLI_COMMANDS 个命令,命令名字可以是[A-Z,a-z,0-9]的某个字母。运行效果:CMD> F - Flash utilities f - Write factory mac address n - W原创 2015-07-25 15:17:48 · 4946 阅读 · 0 评论 -
裸机驱动模板
编写裸机驱动,一般都比较随意。这通常导致代码不统一,移植性差。本例以SPI FLASH来分析一种优秀的裸机驱动编写模板。 1. 首先定义一个设备类。 /* *flash device class */typedef struct flash_dev_s{ const struct flash_dev_funs *funs; /* F原创 2015-07-25 10:48:56 · 855 阅读 · 0 评论 -
开关中断与cpsid/cpsie指令
开关中断与cpsid/cpsie指令在汇编代码中,CPSID CPSIE 用于快速的开关中断。CPSIDI;PRIMASK=1,;关中断CPSIEI;PRIMASK=0,;开中断CPSID转载 2015-07-13 22:24:10 · 2333 阅读 · 0 评论 -
nxp_lpc11xx系统初始化配置学习
/********************************************************************************************************* * @file system_LPC11xx.c * @brief CMSIS Cortex-M0 Device Peripheral Access Layer S原创 2015-01-17 15:18:27 · 2433 阅读 · 0 评论 -
spi flash驱动代码分析(二)
一、spi flash裸机驱动代码void W25q64_Init(void){ ......}/******************************************************************************** Function Name : W25q_ReadWriteByte * Description : W2原创 2015-07-19 12:37:19 · 3235 阅读 · 0 评论 -
SpiFlash同步/异步读写单片机裸机实例
单片机裸机开发中会经常遇到外设速度过慢,长时间读忙等待,但CPU又不能长时间阻塞的问题。这种问题可以通过实现一个状态机来异步处理。异步状态机代码结构示例:enum{ eIDLE = 0, eSTART, eWAIT, eSUCCESS};static uint8_t stage = 0;//启动异步处理 void DoSomethingRequest(){原创 2017-11-23 16:58:22 · 2259 阅读 · 6 评论