c
文章平均质量分 93
李易达
专业点灯10年
展开
-
ThreadX LevelX NOR闪存的open流程
ThreadX LevelX NOR闪存的open流程LevelX NOR闪存的数据管理结构LevelX NOR闪存的BlockHeader信息数据管理初始化流程LevelX 对NOR 闪存的初始化底层驱动绑定计算BlockHeader信息找到整个闪存的最大、最小擦除计数闪存第一次使用或之前完全擦除过闪存之通过LevelX使用过计算空闲扇区数异常扇区检测LevelX NOR闪存的数据管理结构 想要了解LevelX对NOR闪存的数据管理方式,首先必须要知道LevelX的管理数据在NOR闪存(NAND一样)原创 2020-10-25 18:01:34 · 1316 阅读 · 6 评论 -
FreeRTOS启动第一个任务和任务的切换实现过程
FreeRTOS启动第一个任务和任务的切换实现过程此篇文章主要参考了野火的《FreeRTOS内核实现与应用开发指南》,和其他博主的一些资料并加入了一些个人理解,作为学习笔记,在此感谢火哥和其他博主;第一个任务的启动vPortSVCHandler函数开始真正启动第一个任务;上代码:__asm void vPortSVCHandler( void ){ extern pxCurrentT...原创 2019-01-09 17:52:26 · 8445 阅读 · 0 评论 -
数据读写的乒乓操作
数据读写的乒乓操作文中一部分从其他博客中学习到,加入了自己实际应用的过程。 在重要数据的解帧与处理过程中,为了确保数据的实时性与可靠性,我们一般对收到的数据存储到芯片的RAM或Flash(掉电数据恢复)中进行处理,一般对内存的读写采用乒乓的方式读写。列如Flash中空闲的两块Flash或RAM中两个不同的地址存储关键帧信息, 针对Flash 两个Bank为BankA 、BankB B...原创 2018-04-16 09:56:34 · 9506 阅读 · 3 评论 -
向量中断和非向量中断
向量中断 非向量中断向量中断与非向量中断的区别 推荐向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址,进去了再判断中断标志来识别具体是哪个中断。向量中断实时性好,非向量中断简单 向量中断控制器VIC具有32个中断请求输入,可将其编程分为3类,FIQ,向量IRQ和非向量IRQ。 FIQ(fast interrpt request)快速中断请求要求转载 2016-06-14 14:08:11 · 1031 阅读 · 0 评论 -
什么是Boot Loader
在嵌入式系统当中你可能经常听到 boot loader(引导加载器)这一词,boot loader是指什么呢?在我们日常经常接触的东西中是不是有与boot loader的作用或是概念相似的呢?有一点我一定猜得到,你现在正在用计算机看这篇文章。如果你稍微熟悉计算机的组成,你一定知道BIOS(Basic Input/Output System)。BIOS在计算机中就是用来启动计算系统的,在完成一定的硬件转载 2016-06-13 09:23:52 · 927 阅读 · 0 评论 -
C++ typeof基本应用方式解析
C++ typeof基本应用方式解析C++ typeof在实际编程中主要就是帮助开发人员获取表达式的值的类型,并且还能获取表达式的类型。我们将会在这里为大家详细介绍其中的内容。C++编程语言可以被看做是C语言的升级版本。它不但拥有C语言的各种特性,而且还在一些特定方面上有所改进,使得开发人员在编程中大大提高了开发效率。转载 2015-12-23 13:17:56 · 3819 阅读 · 0 评论 -
arm启动过程详解
ARM芯片的启动程序的分析和总结(2009-02-04 14:35:26)标签:杂谈 分类:ARM1、综述: 目前大多基于ARM芯片的系统都是一个比较复杂的片上系统,多数硬件模块都是可配置的,可以通过软件来设置其需要的工作状态。因此在运行用户的应用程序之前,需要由专门的一段代码来完成对系统的初始化。这一段代码就称为启动程序。转载 2015-12-22 10:57:03 · 4341 阅读 · 0 评论 -
枚举类型的使用方法
1. 枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表 }; 在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。 例如: 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。 2. 枚举变量的说明 如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,转载 2015-11-03 09:45:23 · 819 阅读 · 0 评论 -
变量的内存分配和释放
变量的内存分配和释放变量的内存分配和释放从作用范围的角度,变量可以分为两大类:全局(Global)变量和局部(Local)变量。函数或者过程内部定义的变量为局部变量;其他的变量被声明在interface和implementation部分,称作全局变量,可以在整个单元中引用。对于在类中声明的变量,如果我将类比作单元,那么类中的变量可以比作单元中的全局变量;类的方法转载 2015-12-10 09:13:05 · 1182 阅读 · 0 评论 -
几种常见排序算法的c语言实现
1)“冒泡法1” 其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。 [cpp] view plaincopyvoid bubble(int *a,int n) { int i,j,tem转载 2015-10-09 16:08:28 · 370 阅读 · 0 评论 -
数据结构学习之双向链表结构
转载自 :http://blog.csdn.net/ab19860————在此 向原作致敬 在前面总结的单向链表结构的基础上,现在开始着手实践实践双向链表结构,如果充分理解了单向链表数据结构,那对双向链表结构的理解也就不再困难,换个角度而言,双向链表是单向链表的扩展,如果从数据结构代码的定义上来看,双向链表需要维护三个数据内容:数据(data)、前指针(prev)和后指针(转载 2015-11-08 10:49:32 · 427 阅读 · 0 评论 -
结构体初识———结构体成员
结构体中的成员类型不能是该结构体本身,为什么呢 问了老师才明白 ————如果一个结构体中含有它本身,那么这个结构体所占用的内存大小不是确定的。成员之一的大小是自身的大小,这样做会陷入无限循环之中。但是成员变量却可以是以该结构体类型为基本类型的指针类型原因很简单 ,编译器在编译时候32位系统会把指针类型大小定义为一个占用四个字节的大小,所以在这样在编译结构体的时候就知道的成员的大原创 2015-11-07 16:28:49 · 1182 阅读 · 0 评论 -
结构体定义 typedef struct 用法
typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。具体区别在于: 若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n;若用typedef,可以这样写:typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;其实就相当于 NO转载 2015-11-07 15:48:57 · 463 阅读 · 0 评论 -
C语言:存取结构体成员的点运算符(.)和箭头运算符(->)的区别
一直以为这两个是没有什么区别的,可以相互替换,今天又翻了一下《C语言核心技术》,明白了其中的奥妙。 相同点:两个都是二元操作符,其右操作符是成员的名称。 不同点:点操作符左边的操作数是一个“结果为结构”的表达式; 箭头操作符左边的操作数是一个指向结构的指针。 举例说明:#include转载 2015-11-06 15:33:12 · 692 阅读 · 0 评论 -
结构体指针变量与结构体成员指针变量
C代码 #include #include #include struct student{ char *name; int score; struct student* next; }stu,*stu1; int main(){ stu.name转载 2015-11-07 17:06:12 · 405 阅读 · 0 评论