新書推薦:

《
索恩丛书——命运交织的土地:东南欧的历史(撕去标签,东南欧不只是“大火药桶”)
》
售價:HK$
198.2

《
甲骨文丛书——创造者、征服者和公民:一部古希腊通史
》
售價:HK$
140.4

《
中国力量:迈向世界之巅的九大战略支点
》
售價:HK$
80.2

《
大国筹谋:中国式现代化的关键十年
》
售價:HK$
103.8

《
江苏文库:明清之际江南文化遗民研究
》
售價:HK$
115.6

《
何以中国·忠臣之变:大宋989—1051
》
售價:HK$
80.2

《
西游的黎明:三界神魔往事
》
售價:HK$
85.0

《
壹卷YEBOOK——胡克与16世纪的英国政制危机
》
售價:HK$
89.7
|
| 編輯推薦: |
|
本书由拥有 50 余年嵌入式系统编程经验的 Stephen Oualline 撰写,经电气 / 电子工程领域专家 Frank Duignan 审校,专业性与权威性兼具。内容围绕嵌入式开发核心需求展开,既系统讲解嵌入式系统基础知识、开发环境搭建,又深入剖析 C 语言在动态内存管理、中断控制、寄存器操作等场景的实战技巧,且全程以 STM32F030x4 处理器为实例,结合编译原理、链接器应用等底层逻辑,为不同阶段开发者提供从理论到实践的完整知识体系,是嵌入式 C 语言开发领域兼具深度与实用性的专业参考用书。
|
| 內容簡介: |
|
本书是一部专注于嵌入式系统编程的指南,旨在帮助你深入探索嵌入式系统的奥秘,掌握C语言在嵌入式领域的应用技巧,从而在嵌入式开发领域取得成功。全书分为两部分:第一部分(第1~12章)介绍了嵌入式系统的基础知识和开发环境的搭建,包括安装必要的工具和软件、配置开发环境等内容,通过一步步的实践示例,带你快速入门嵌入式系统编程,了解嵌入式程序的编写流程和基本技巧;第二部分(第13~18章)更深入地探讨了C语言在嵌入式系统中的高级应用,从动态内存管理、文件I/O操作、命令行参数处理到模块化编程等方面,全面介绍了C语言在嵌入式系统中的实际应用技巧和最佳实践,帮助你进一步提升编程技能,应对更复杂的编程任务。
|
| 關於作者: |
斯蒂芬·欧林 (Steve Oualline) 在嵌入式领域编写可靠、低缺陷的系统程序已超过50年,拥有南加州大学的理学硕士学位,为OReilly和No Starch出版社撰写了多本书籍。他还是南加州铁路博物馆的志愿者,并为Acme交通信号灯调试计算机控制器。他的个人网站是
杨明,1998年毕业于中央民族大学数学专业获得学士学位,2011年至今在大陆汽车新加坡分公司从事车载嵌入式软件研发和管理工作。之前曾就职于摩托罗拉公司、京泰网络技术有限公司,从事手机软件及网络安全产品开发工作。
|
| 內容試閱:
|
前 言 本书是为那些使用硬件的读者而写的,不适合那些购买现成计算机并从未了解过它们内部构造的读者阅读。本书所涉及的计算机甚至没有机箱。如果你想使用它,必须把某些东西连接到这块开发板的“裸金属”上。 本书会介绍嵌入式编程。嵌入式计算机是一种位于设备内部并且你几乎察觉不到它存在的计算机。它是运行你的车库门开启器、微波炉、汽车,甚至贺卡的设备。但在能实现任何功能之前,它需要被编程。本书介绍的就是如何对嵌入式系统进行编程。 为什么选择C语言?因为C语言让你对程序的执行有精确的控制,而其他语言,如C++,可能在背后做很多事情。考虑以下语句:
在C++中,这可能会调用一个类的赋值运算符函数,从而可能导致堆内存的分配和释放,并可能引发异常。这些细节暂时不重要,关键是你无法确切地知道会发生什么。 在C语言中,这个语句只是简单地将变量b的值赋给变量a,没有任何副作用;它只是一个赋值操作,没有其他附加操作。这个例子很简单,但是你会在本书中看到其他C语言的用法也都是按你所写的方式执行。 精确的控制很重要,因为我们使用C语言来编程一款基于STM32F030x4处理器(一种廉价的ARM Cortex-M0系统)的低端片上系统(SoC),该处理器具有8KB的RAM。在有限的RAM中进行内存管理非常重要,因此我们不能让高级语言(如C++)暗中操纵内存。另外,因为嵌入式系统没有操作系统,所以你需要直接告诉硬件该做什么。高级语言并不总是允许你与硬件交互,但C语言可以。 本书适合那些对计算机和硬件有基本了解,但在编程方面知识有限的读者阅读,也适合希望将新硬件连接到微控制器的硬件设计者,以及首次使用该硬件的人阅读,还适合对低级编程感兴趣,并希望充分利用38美分芯片的程序员阅读。 注意 ARM Cortex-M0因其低端产品的价格(写作本书时,10 000片的价格为38美分),在低端产品中非常流行。考虑到我们希望销售数百万的嵌入式系统,38美分和56美分芯片之间的差别是显著的。 为了充分发挥程序的性能,你需要了解底层的情况。本书不仅会教你如何编写程序,还会介绍你的程序如何被翻译成ARM芯片能够使用的机器代码。这对于最大化效率至关重要。例如,你将了解如果将程序从使用16位整数改为使用32位整数,会对性能带来多大影响。令人惊讶的是,32位整数更有效率,也更快速(32位是ARM的自然数大小,如果强制进行16位算术,它会执行32位计算,然后丢弃16位)。 为了编程和调试ARM芯片,你需要一些额外的工具:闪存编程器(用于将代码加载到设备)、USB串口转换器(因为我们使用串行线进行调试)和JTAG调试器。由于几乎所有开发者都需要这种组合工具,因此STMicroelectronics推出了一个名为NUCLEO-F030R8的板卡,提供了你所需的所有硬件。你还需要一根迷你USB线(与手机不兼容的那种),这样你就可以将板卡连接到计算机。 你的第一个任务是订购一块NUCLEO-F030R8开发板。然后开始阅读第1章。收到板卡后,你就可以准备开始后续的学习了。
|
|