迭代器设计

嵌入式软件设计中的迭代器设计,可以提高代码复用,优化代码结构,算法和数据结构可以解耦。

2019-04-08 21:14:33

阅读数 27

评论数 0

STM32 & contex m3 笔记一

目录 简介 芯片架构 系统时钟 GPIO 简介 STM32是Cortex-M3 系列的,而Cortex-M3 处理器采用ARMv7-M 架构。 芯片架构 上图是stm32的系统结构。 使用哈弗体系结构,取指和取数据分离, ICODE指令总线连接到flash闪存指令存储区...

2019-04-02 21:15:33

阅读数 69

评论数 0

快速排序

目录 qsort bsearch 示例 对较大型的数组而言,快速排序方法是最有效的排序算法之一,。它将数组不断分成更小的数组,直到变成单元素数组。首先,将数组分成两部分,一部分的值都小于另一部分的值,这个过程一直持续到数组完全有序为止。 qsort 标准函数qsort()是对一个具有任...

2019-03-25 21:00:21

阅读数 16

评论数 0

调度器

目录 什么是调度器 分类 合作调度器 抢占式调度器 混合式调度器 什么是调度器 首先调度器可以看作是一个简单的操作系统,允许以周期性或单次方式调度任务。 从底层看,调度器实则是一个多个不同任务共享的定时器中断服务程序。 调度器分为:合作调度器、抢占调度器和混合调度器。 所有...

2019-03-12 13:48:17

阅读数 111

评论数 0

git 常用命令

目录 删除本地所有分支 跟新远程分支 git cherry-pick 删除本地所有分支 git branch | grep -v "master" | xargs git branch -D 这是通过 shell 管道命令来实现的批量删除分支的功能...

2019-02-28 16:34:22

阅读数 21

评论数 0

EFM8SB20 boot_startup 启动文件分析

$NOMOD51 $NOMOD51 $INCLUDE (REG932.INC) 解释: $NOMOD51,这一指令功能是使A51不识别8051的所有预定义符号。 $INCLUDE (REG932.INC),这一指令功能使用用户自定义的符号文件。 这两条语句必须配合使用,使用了$INC...

2019-02-26 20:29:22

阅读数 34

评论数 0

跟涛哥一起学嵌入式_note_4

目录   __atttribute__  section aligned packed weak alias weak&alias noinline & always_inline __atttribute__  __attt...

2019-02-26 20:25:22

阅读数 77

评论数 0

跟涛哥一起学嵌入式_note_3

目录 指定初始化 数组 switch-case 结构体 举例 container_of 宏 跟涛哥一起学嵌入式:https://zhuanlan.zhihu.com/wanglitao     指定初始化   数组 标准 C 中 int a[10] = {0,1,2,...

2019-02-26 13:48:41

阅读数 41

评论数 0

跟涛哥一起学嵌入式_note_2

目录 C 语言标准 K&R C ANSI C C99 C11 编译器对 C 标准的扩展 Keil for C51 GCC 跟涛哥一起学嵌入式:https://zhuanlan.zhihu.com/wanglitao   C 语言标准 定义各种关键字、...

2019-02-26 13:32:47

阅读数 61

评论数 0

跟涛哥一起学嵌入式_note_1

目录 语句表达式 表达式 语句 代码块 语句表达式 宏 中断函数 实现锁机制非常有意思的宏 跟涛哥一起学嵌入式:https://zhuanlan.zhihu.com/wanglitao 语句表达式 表达式 关系表达式 逻辑表达式 条件表达式 赋值表达式 算术表达式 ...

2019-02-26 13:21:07

阅读数 32

评论数 0

嵌入式常用算法_note_1

目录 折线插值 抛物线插值 折线插值 #include<stdio.h> #define N 10 //折线由10段线段组成(即有11个插值节点) float w=10.0; //插值节点间隔为10.0℃ (即 w=y1-y0=...

2019-02-25 12:44:44

阅读数 301

评论数 0

linux_c_note_05

目录 最简单的汇编程序 x86汇编的两种语法 x86的寄存器 最简单的汇编程序 #PURPOSE: Simple program that exits and returns a # status code back to the Linux kernel # #INPUT: ...

2019-02-11 14:10:21

阅读数 42

评论数 0

linux_c_note_04

目录 Von Neumann体系结构 MMU Memory Hierarchy Von Neumann体系结构 主要特点是: CPU(CPU, Central Processing Unit,中央处理器,或简称处理器Processor) 和内存(Memory) 是计算机的两个...

2019-01-25 14:14:09

阅读数 36

评论数 0

linux_c_note_03

目录 数据类型 ILP32或LP64规范 Integer Promotion(整数推广) Side Effect&Sequence Point 数据类型 那么不带signed或unsigned关键字的char型呢? C标准规定这是Implementatio...

2019-01-24 15:41:54

阅读数 38

评论数 0

linux_c_note_02

目录 程序的调试 常量、变量和表达式 深入理解函数 gdb基本命令 程序和编程语言 助记符(Mnemonic) 汇编器(Assembler) 编译(Compile) 编译器(Compiler) 可移植的(Portable) 平台无关的(Platform Independe...

2019-01-24 14:54:04

阅读数 31

评论数 0

SLAM入门_02

目录   传感器 激光雷达 视觉SLAM 单目 双目(或多目) RGBD 传感器 激光雷达 激光雷达能以很高精度测出机器人周围障碍点的角度和距离,从而很方便地实现SLAM、避障等功能。主流的2D激光传感器扫描一个平面内的障碍物,适用于平面运动的机器人(如扫地机等)进行定位,并建...

2019-01-11 14:12:24

阅读数 94

评论数 0

SLAM入门_01

SLAM Simultaneous Localization and Mapping 知识储备 C&C++/Linux/cmake/vim&emacs/openCV&PCL&Eigen/ROS 硬件...

2019-01-11 13:53:33

阅读数 184

评论数 0

How Linux Kernel Works 笔记 (绪论)

GPL GNU General Public License的缩写,是GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─只有GNU通用公共授权英文原文的版本始具有此等效力。 http://www.gnu.org/licenses/...

2019-01-09 13:35:46

阅读数 25

评论数 0

玩转嵌入式多任务程序设计笔记三

2 核 4 线程 2 核: CPU 中存在两条流水线,可以并行执行两个线程。 4 线程:CPU 总共提供了 4 个寄存器页,可以同时保存 4 套不同的上下文。   1MHz 就是 1us 1us 对应一个指令周期。 12MH:1us 时间内就有 12 个指令周期。 500KH:1us 时...

2019-01-04 21:09:32

阅读数 141

评论数 0

玩转嵌入式多任务程序设计笔记二

窥孔优化(Peephole Optimize) 静态变量在函数中被多次使用,但实际上,它仅仅涉及到了读取操作,实际上并不需要每次都通过总线操作实际读取一次变量的值,因而在开启优化的情况下,编译器所生成的代码仅仅会在函数的一开头将其读取到某个通用寄存器中,并在随后的操作中直接使用对应的通用寄存器进行...

2019-01-03 14:27:42

阅读数 218

评论数 0

提示
确定要删除当前文章?
取消 删除