嵌入式
你大兄弟
ようこそ
展开
-
C语言嵌入式系统编程-----软件架构篇
模块划分模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了>相对论), C语言模块化程序设计需理解如下概念:(1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明;(2转载 2013-01-20 16:24:07 · 859 阅读 · 0 评论 -
嵌入式系统的内存管理
摘要:实时性、可靠性的要求,使得许多嵌入式应用使用自己的内存管理程序。本文探讨嵌入式系统中对内存管理的要求、存在的问题以及可能的解决策略;介绍一种“一次分配,多次使用”的动态内存分配方法,并给出2个例子。 关键词:嵌入式系统 内存管理 一次分配多次使用 1 嵌入式系统中对内存分配的要求 ①快速性。嵌入式系统中对实时性的保证,要求内存分配过程要尽可能地快。因此在嵌入式系统中,不可能采用通转载 2013-01-20 16:26:41 · 1332 阅读 · 0 评论 -
内存编程学习(不间断更新)
内存分配方式1.从静态存储区域分配内存在程序编译的时候就已经分配好。例如全局变量,static变量。2.在栈上创建在执行函数时,函数的参数值,函数内局部变量的存储单元都可以在栈上创建。3.从堆上分配,亦称动态内存分配程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。int a = 0;原创 2013-01-22 16:16:09 · 747 阅读 · 0 评论 -
程序跑飞原因分析
通常我们程序跑飞的原因有以下几个方面: 1,memset/ memcpy使用错误 错误代码 aucCpyLength=NAME_DATA_LENGTH- ((wucCdTextCmdBufferPara.stTagCmdPara.ucPageNo+1)*TAG_PAGE_LENGTH); memset(pucCpyDestAdress + TAG_PAGE_LENGTH,0x00,原创 2013-01-21 09:52:14 · 13755 阅读 · 0 评论 -
嵌入式C 语言ROM 压缩方法
在嵌入式的开发中,由于 ROM 有限,常常造成 ROM 不够的情况。那么怎么在不影响机能实现的情况下,对 ROM 进行压缩成为首要的问题。本篇文章结合了项目实际应用的 ROM 压缩方法,对常用的 ROM 压缩方法进行总结。 在嵌入式开发体系中,ROM 区主要分为中断向量表, const(sconst)段,TEXT 段,以及rompsec section。压缩的主要对象是 const 段,TEXT原创 2013-01-21 15:39:00 · 2537 阅读 · 0 评论 -
关键字volatile
关键字volatile有什么含意一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1). 并行设备的硬件寄存器(如:状态寄存器)2). 一个中断服务子程序中会访问到的非自动变量(Non-a原创 2013-03-13 14:18:04 · 661 阅读 · 0 评论 -
C++11常见语法总结
Override 关键字:明确的表示一个函数是对基类中一个虚函数的重载。class G{public:virtualvoid func(int);};class H: G{public:virtualvoid func(double) override; //compilation error};当处理到H::func()声明时,编译器会 在一...原创 2017-08-22 08:58:03 · 615 阅读 · 0 评论