本书主要介绍针对嵌入式系统基于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
毕业论文为了满足现代教学的需求,进一步加强老师和学生的交流,同时改变过去传统的作业批改方式,作业提交系统有着很好的应用前景,用来代替传统的作业批改方式,实现作业提交方式的网络化管理。
随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。
2024/6/22 8:57:41 811KB 作业提交系统 asp access
1
基于Python与OpenCV的舌象分割,杨露,钱旭,舌象诊断是中医最具临床应用价值的方法之一,随着计算机技术的迅速发展,舌诊克服以往主观性、非量化等缺点,形成自动化与客观化
2024/6/9 3:09:01 568KB 舌象
1
本论文主要介绍的是大学使用的教务管理系统的整个设计。
随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,在学生管理系统亦是。
以往大学教务员由于缺乏适当的软件而给其工作带来了很多不便。
本论文所介绍的便是一个大学教务管理系统,以方便其在课程安排、成绩处理、学籍管理上的工作任务。
该系统适用于大学教务员,其功能主要分为四大类:公共信息管理用于学院信息和专业信息建立和修改,学生基本信息管理用于班级信息和学生信息的建立和修改以及查询;
课程管理用于各学期课程的开设和修改);
成绩管理用于成绩的输入、修改、汇总和排名。
该系统性能力求易于使用,具有较高的扩展性和可维护性。
整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化设计和代码编写的模块化。
2024/5/19 8:34:57 1.24MB 毕业设计
1
【摘 要】电力电子技术是一个以功率半导体器件、电路技术、计算机技术、现代控制技术为支撑的技术平台。
文章介绍了电力电子技术在电力系统各个环节中的应用及在电力系统中的应用前景。
  【关键词】电力电子技术;
电力系统;
应用;
直流输电         电力电子技术是电工技术中的新技术,是电力与电子技术(强电和弱电技术)的融合,已在国民经济中发挥着巨大作用,对未来输电系统性能将产生巨大影响。
目前电力电子技术的应用已涉及电力系统的各个方面,包括发电环节、输配电系统、储能系统等等。
     一、发电环节     电力系统的发电环节涉及发电机组的多种设备,电力电子技术的应用以改善这些设备的运行特性为主要目的。
2024/5/10 21:15:55 108KB
1
云计算(cloudcomputing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
云计算早期,简单地说,就是简单的分布式计算,解决任务分发,并进行计算结果的合并。
因而,云计算又称为网格计算。
通过这项技术,可以在很短的时间内(几秒种)完成对数以万计的数据的处理,从而达到强大的网络服务。
现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
2024/5/10 1:55:13 30KB 云计算
1
本人自己的课程设计报告,绝对有用!一、 引言(简要说明设计题目的目的、意义、内容、主要任务等)1.背景及意义现如今高等院校的招生人数越来越多,必然就会有大量的学生信息、教师信息及课程信息需要处理。
如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。
因此,为了提高教务管理工作的效率,减少错误的出现,节约大量的人力资源,教务管理也已经从手工操作转到计算机自动化信息处理阶段,所有高校都迫切需要计算机技术来进行教务信息的辅助管理。
在使用了教务管理系统后,可以提高各类信息的准确性和及时性,将信息准确无误地输入计算机并在数据库中存储起来。
按照规范设定标准代码,大大保证了统计原始数据的准确性,在进行课程的分析设计时可以最大限度地减少人为影响,大大提高工作效率。
教务管理系统是一个庞大而复杂的系统,它包括对教师信息的管理,对课程资料的管理,对学生信息的管理和对学生成绩的管理等主要功能。
教务管理系统是每所高校的一项必不可少的内容,它的好坏直接影响到学校的主要工作,此系统一旦瘫痪,不仅会影响到学校的每一位学生,学校也会因此受到非常严重的损失。
随着我校近几年来的快速发展,办学模式多元化,在校学生规模不断扩大,为了加速对教务管理的计算机化,我校需要开发出符合我校实际的教务管理系统,为学校教学管理提供一个快速、简单规范的管理平台,同时也方便教员查询相关信息,提高信息传播速度,扩大信息共享范围。
所以,现在设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要。
通过这个系统,管理员能够对教师信息、课程信息、学生信息和学生成绩进行查询、添加、修改和删除等操作,用户也可以对自己的基本信息进行修改,学生还可以用该系统进行网上选课和成绩查询,非常的方便。
因此,本系统开发的总体目标就是在教务管理中实现信息管理的系统化、自动化,减少工作繁琐度,增加效率、方便性。
2024/4/24 9:25:36 1.06MB 课程设计
1
内含《微型计算机原理与接口技术(第3版)》全部课件。
《微型计算机原理与接口技术(第3版)》是《微型计算机原理与接口技术》的第3版。
作者根据计算机技术的发展及实际教学中的体会,除对原稿部分文字进行修订外,还对包括系统总线、汇编语言程序设计、半导体存储器等在内的部分内容做了一定的调整和扩充。
考虑到读者对象的需求和实用性,本版仍以Intel80x86系列微处理器为平台,介绍其3个不同时期的典型代表--8088、80386及Pentium4的基本结构和工作原理;
保持了第2版中基本指令系统、输入/输出系统、接口电路设计内容的叙述风格。
另外,此次改版依然保持了原版注重实际应用的特点,在强调基本概念的基础上,使用了大量实例来阐明各种应用问题,同时也融入了作者在使用原教材教学过程中的体会,实用性较强。
2024/4/20 19:24:46 3.69MB 微机原理 接口技术 冯博琴
1
哈尔滨工业大学计算机专业硕士课程——网络程序设计与实践-源代码及实验报告
2024/4/13 14:09:33 2.68MB 哈工大 硕士 设计与实践
1
多媒体计算机技术(第2版)[鲁宏伟等主编][电子教案
2024/4/13 12:33:13 2KB 多媒体
1
共 131 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡