本书主要介绍针对嵌入式系统基于C语言的软件项目开发流程、较为复杂的C语言编程知识与技巧、编程风格及调试习惯,并通过对一个具体的软件模块(ASIXWindowGUI)的分析,介绍分析代码的方法以及设计软件系统需要考虑的各要素。
本书以实际项目中的代码为例来进行介绍,详细分析在嵌入式系统开发中程序员应该注意的方法、技巧和存在的陷阱。
本书适合用作学习嵌入式系统的高年级本科生或硕士研究生的教学用书,也可作为从事嵌入式系统编程的软、硬件工程师的技术参考用书。
嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各行各业的具体应用相结合的产物,这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
然而,嵌入式系统是一个非常综合的技术,在学科上涉及电子科学与技术、计算机科学与技术、微电子学等众多领域,在系统的架构上涉及数字电路、模拟电路、嵌入式微处理器、嵌入式操作系统、底层驱动等技术。
因此,虽然为了满足业界对人才培养的要求,越来越多的高校相关专业开始在专科、本科、硕士培养计划中开设嵌入式系统方面的课程,但是作为一个新兴的课程体系,关于嵌入式系统教学过程中相关先修课程与基础知识的准备、教学内容(包括硬件平台与软件平台)的选择、实验教学与实践环节组织等问题依然处于争论和探索阶段。
通过对相关院校的嵌入式系统教学的调研以及在东南大学电子科学与工程学院、集成电路学院嵌入式系统教学实践的基础上,我们发现现有电子类本科专业教学计划中存在与嵌入式系统教学要求相脱节的因素,其中一个比较突出的问题就是电子类学生软件基础比较弱。
虽然电子类专业的学生都先修过“C编程语言”、“计算机原理”等课程,但是缺乏大型软件项目的开发经验,尤其缺乏操作系统方面的相关知识。
这些都为嵌入式系统课程的教学带来了一定的困难,因此在嵌入式系统课程体系中增加一些用于弥补学生软件知识的课程就非常有必要了。
凌明副教授2005年开始在集成电路学院开设的“高级嵌入式系统C编程”硕士选修课无疑是为解决这个问题而进行的有益尝试,而通过5届学生课程的讲解也取得了非常好的教学效果。
虽然关于嵌入式系统方面的专业书籍出版了很多,但是适合教学的教材可谓凤毛麟角,因此在我的建议下凌明老师开始将课程讲义的主要内容进行了系统地整理,编写成为面向本科高年级和硕士阶段教学的这本教材。
全书分为9章。
第1章简要回顾了C语言的发展历史并给出了作者对于学习C语言的一些建议和参考书目。
第2章和第3章将C语言的主要语言要素作了提纲挈领式的总结和复习,虽然不是一本C语言的入门教科书,但是出于对全书的系统性以及教学的考虑,作者用了一定的篇幅将C语言中的主要内容进行了总结,其中第2章重点介绍了C语言的关键字与运算符,第3章则重点介绍了C语言的函数、标准C库以及相关内容。
第4章详细介绍了嵌入式系统软件开发的基本流程和原理,并针对ARM处理器作了比较详细的介绍。
第5章是全书的重点和难点之一,详细介绍了C语言中指针使用的高级技巧以及程序员需要规避的内存“陷阱”,本章的后半部分还以实际的案例讲解了动态内存的分配与释放,然后以ASIXWindow的实际案例进行了构建复杂数据结构的讲解。
第6章则详细介绍了嵌入式系统中底层驱动的编写技巧以及相关中断处理程序的编写技巧,尤其是针对函数重入的问题进行了细致的分析与讨论,本章的后半部分还以一个实际的键盘驱动以及UBOOT为例进行了案例讲解。
在第7章中,作者介绍了嵌入式C语言编程需要遵循的编程规范和编码风格,本章的内容几乎在其他所有教科书中都没有涉及,但实际上对于工程项目的开发而言,本章的内容又是非常重要和实用的。
只要是软件就离不开调试,初学者往往在调试代码的过程中不知所措,因此在第8章中,作者介绍了嵌入式软件调试的基本技巧和常用工具。
本章的主要内容也是本书的特色之一,作者从工程的角度比较系统地介绍了嵌入式软件开发调试过程中常用的方法,这对于初学者是非常有帮助的。
第9章则以东南大学国家专用集成电路系统工程技术研究中心自主研发的ASIXWindow嵌入式图形用户界面(GUI)作为一个综合案例,详细讲解了一个复杂软件系统的总体设计架构。
本书的特色之处是强调实际嵌入式软件项目中常用的技巧和方法,并融合了作者在所从事的科研项目中总结出来的经验和心得。
本书适合电子类专业本科高年级和相关专业硕士的教学,可以作为相关选修课程的教材或主要参考用书,另外由于本书内容的实战性很强,因此也非常适合作为广大嵌入式系统工程师的参考用书。
2024/8/12 3:19:49 18.94MB C语言 C C++ 嵌入式
1
DSP是一种快速强大的微处理器,独特之处在于它能即时处理资料,正是这项即时能力使得DSP最适合支援无法容忍任何延迟的应用。
DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。
  现在DSP产品很多,定点DSP有200多种,浮点DSP有100多种。
DSP芯片的主要供应商有TI,ADI,Motorola,Lucent和Zilog等,其中TI占有最大的市场份额。
主导产品:TI公司的TMS320C54xx(16bit定点)、TMS320C55xx(16bit定点)、
1
NYIDE为NyquestIntegratedDevelopmentEnvironment缩写,是针对九齐科技NY4/5/6/7/8/8L/9T/9UB&NX1系列微控制器而研发的汇编语言和C语言综合开发工具。
NYIDE是IC编译与调试程序。
包含设置IC硬件,编写汇编语言到建置出软件,实时侦错。
2024/7/24 16:30:53 30.7MB 九齐 MCU C51核
1
设计了基于stm32微控制器的MP3,使用VS1053音频解码芯片,在软件方面有VS1053驱动,SD读写,FAT文件系统。
2024/7/23 10:09:46 1.7MB STM32 mp3
1
本手册介绍了32位基于ARM微控制器STM32F101xx与STM32F103xx的固件函数库中文版-ThismanualdescribestheARM-based32-bitmicrocontrollersSTM32F101xxandSTM32F103xxChineseversionofthefirmwarelibrary
2024/7/23 4:47:10 2.79MB 学习STM32 中文版 函数库
1
S32K系列微控制器,以构件化底层驱动为基础阐述S32K系列微控制器应用程序的设计方法,内容涉及汽车电子技术基础,S32K系列微控制器的基本特性,ARMCortex-M4F的相关知识,底层驱动构件设计规范,以及S32K系列微控制器的Systick、PDB、LPIT、LTMR、RTC、FTM、Flash、ADC、CMP、SPI、I2C、DMA、CAN等模块的程序设计方法。
2024/7/21 9:33:34 195.81MB S32K
1
火龙果软件工程技术中心  在嵌入式应用中,使用RTOS的主要原因是为了提高系统的可靠性,其次是提高开发效率、缩短开发周期。
uCOS-II是一个占先式实时多任务内核,使用对象是嵌入式系统,对源代码适当裁减,很容易移植到8~32位不同框架的微处理器上。
但uCOS-II仅是一个实时内核,它不像其他实时操作系统(如嵌入式Linux)那样提供给用户一些API函数接口。
在uCOS-II实时内核下,对外设的访问接口没有统一完善,有很多工作需要用户自己去完成。
串口通信是单片机测控系统的重要组成部分,异步串行口是一个比较简单又很具代表性的中断驱动外设。
本文以单片机中的串口为例,介绍uCOS—II下编写中断服务程
1
PDF文档十分详细《全国大学生电子设计竞赛常用电路模块制作》是为高等院校电子信息工程、通信工程、自动化和电气控制类专业学生编写的全国大学生电子设计竞赛常用电路模块制作训练的培训教材。
《全国大学生电子设计竞赛常用电路模块制作》共8章,内容包括:微控制器电路模块制作,微控制器外围电路模块制作,放大器电路模块制作,传感器电路模块制作,电机控制电路模块制作,信号发生器电路模块制作,电源电路模块制作,系统设计与制作;
所有电路模块都提供电路图和pcb图,以及元器件布局图。
2024/7/3 22:58:34 10.56MB 电子设计
1
针对目前部分播放器播放文件单一的缺陷,采用TI公司的Cortex-M3系列的微控制器LM3S9B96为核心,设计多功能的音频播放器,用来实现*.mp3、*.wma、*.wav等不同的格式文件的播放。
软件系统由支持嵌入式的实时多任务的操作系统μC/OS-II以及图形化界面设计软件μC/GUI和FatFs文件系统组成,人机交互可通过触摸屏实现,系统具有播放流畅、易操作等特点。
1
近年来,嵌入式技术、网络传输技术以及图像处理技术都得到了不断发展和提高,以嵌入式技术为基础设计的视频采集与处理系统越来越受到人们的关注。
相对于以往以计算机为核心的视频采集与处理系统,嵌入式视频采集与处理系统因为其体积较小、功耗较低以及相对较低的成本价格等特点,基于嵌入式技术的视频采集与处理系统应用的领域也越来越广泛,比如公共交通、移动终端、工业产品检测、视频监控等。
对于嵌入式视频采集与传输系统来说,就是通过嵌入式处理器,在外扩展图像传感器、传输模块等一些相关的外设,实现图像数据的采集、显示、处理、存储与传输等功能。
根据目前图像采集系统的发展趋势,本文设计了一种以ARM芯片为核心的嵌入式图像采集系统。
系统采用ST(意法半导体)公司生产的基于Cortex-M4架构的ARM芯片STM32F407作为微控制器,完成数据的处理功能;
搭配OV(OmniVision)公司生产的CMOS图像传感器OV2640作为图像采集模块,其像素为200万,保证了图像质量;
数据传输模块选择用以太网进行传输,可将采集到的视频发送至PC机进行显示和存储;
同时设计了一个SD卡模块来存储图像数据,图像主要以BMP和JPEG
2024/6/4 16:22:15 5.39MB 于STM32 视频采集 传输
1
共 207 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡