分类: 嵌入式

27 篇文章

thumbnail
工训赛软件工程分析—-一份送给刚陷入自控软件泥潭者的小礼物
碎碎念 之前参加工训赛其实是抱着想要把这个比赛打完的想法的,但是中途突然收到了老师的通知得知比赛实际的举办时间已经推迟到了12月,对于我们队伍中的三个人来说都是一个噩耗,所以无奈只好放弃了这个比赛。 我们之前的项目给到了学弟手中,由我经手的代码也已经悉数开源到这里了,希望学弟带着我的遗志(bushi)继续努力下去! 工训赛的工程其实是笔者写的相对比…
漫谈STM32单片机启动过程
前言 笔者假期刚开学没几天,现在处于一个比较闲的状态。 假期简单学习了一下ARM汇编相关内容,目的是写一个简单的RTOS,但是这个项目其实只有保存上下文的部分使用到了ARM汇编,于是打算写写博客来沉淀一下假期学到的东西。 单片机的启动过程一直是笔者十分感兴趣的话题,故借着这个机会简单分析一下单片机的启动过程。由于笔者知识浅薄,分析的过程必定有所纰漏…
来学学ARM汇编—-基本知识(下)
书接上篇:来学学ARM汇编----基本知识(上) 通过之前的学习,笔者已经对于Armv7-M体系架构有了一些大致的了解,接下来就开始真正的Arm汇编的指令的学习了。 还是那句话,开发者的学习应该追根溯源,故这部分内容的学习是基于Arm编译器armasm用户手册进行的。 源代码行语法 每行汇编代码都具有如下的一般格式: {symbol} {instr…
来一起把时间切成“片”
简介 时间片轮询是裸机开发的过程中十分常用的一种程序架构,其主要的思想是将单个定时器的时间时分复用,可以同时处理多种不同时间间隔的定时任务。 笔者在很久之前的电赛总结的文章中就曾经说过,自己实现了一个时间片轮询架构并且用在了电赛中,后续又为其添加了一些常用的功能。但是前段时间笔者自行审视的时候发现曾经架构中其实存在一些比较严重的问题,于是将该架构进…
来学学ARM汇编—-基本知识(上)
笔者落笔此篇的时间是7.1,写上一篇的时间到现在好巧不巧,刚好是一个月。 一个月时间真的发生了一堆怪怪的破事,首先辛苦读者听笔者一顿吐槽好了: 现在写这篇文章的时候笔者正坐在外面的出租屋里面,当然不是因为笔者毕业了、成为社会人了,而是这个暑假学校方面并不想让我们本科生留在学校。经过一段时间的“钉子户生活”,本来形式已经开始向可以留校的好的方向发展了…
来学学ARM汇编—-环境搭建
契机 笔者落笔的日子是6.1,这篇文章还不知道什么时候能发出去。不得不说这个时间是很尴尬的,主要是有两点: 博客鸽了很久了 6.4笔者就有一门期末考试,现在还没开始复习 但是笔者就是不想复习,毕竟DDL越近复习起来越刺激嘛(划掉 笔者这学期有微机原理的课程,在其中学习x86汇编,但是似乎身边每一个搞嵌入式的朋友都会吐槽这门课:为什么教x86汇编而不…
来读读HAL源码—-寄存器的结构体映射
笔者不才,寄存器的结构体映射这个名字其实是笔者自己造出来的,似乎也没有找到什么关于这方面的官方说法。 先解释一下这个名字吧,以免读者产生奇怪的误解: 寄存器的结构体映射描述的是一种通过修改结构体的值实现修改寄存器内容的关系。 而这篇文章中试图解释的问题是:HAL库如何实现从寄存器到结构体的映射。 一些基础知识 C的指针 指针,一个讨论起C语言恒久离…
关于按键处理的破事
简介 LED、按键等这些东西是搞嵌入式的每个人都一定会打交道的东西,笔者当然也不例外。LED可以上电即用,但是按键相对而言就要复杂一些了。 众所周知,按键是有抖动的,所以在使用过程中不得不进行消抖操作,如:加电容进行硬件消抖以及延时进行软件消抖等。 但是,硬件消抖这件事不得不在画PCB时费心费力(虽然也没有很费心),而延时的消抖方式让MCU有了一段…
MM32学习笔记
拿到芯片肯定是先搭建开发环境,搭建开发环境相关内容在这篇文章里面。 开始学习单片机的第一件事----先看一眼它的系统框图。 等等,怎么有点眼熟(bushi 时钟树 从系统框图上可以看出这哥们的时钟总线和另一个某32有点像啊 咳咳,正经点。 AHB总线连接着总线矩阵和外设总线APB1和APB2,经测试,APB1总线的默认配置时钟频率为60M,而APB…
搭建MM32的Keil开发环境
使用的单片机信息如下: MM32F3277G9P 主频:120M 内存:512KB-FLASH、128KB-RAM 屯资料 MM32F3270 库函数和例程 获得MM32F3270_Lib_Samples * 1 MM32 KeilPack 获得MM32_KEIL_Pack.zip * 1 搓开发环境 首先安装MM32_KEIL_Pack中的对应单…