Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
16位微控制器的C语言培训_C_Assembly_Embedded_Microcontroller - Fatal编程技术网

16位微控制器的C语言培训

16位微控制器的C语言培训,c,assembly,embedded,microcontroller,C,Assembly,Embedded,Microcontroller,我的公司正在从汇编代码的微控制器过渡到C。我们正在考虑微芯片、Atmel、Renasas等将来使用C代码的项目。是否有良好的培训资源使我们的工程师跟上C语言的速度?研讨会、讲师、课程等。工程师的经验水平从未经培训到某些知识不等 首先想到的是编写Linux设备驱动程序的文档。这与您感兴趣的内容关系不大,但16位设备的编码在O'Reilly关于驱动程序编程的书中有介绍。一般来说,应该至少有一些有用的编码风格约定。欢迎来到80年代:从经典的K&R C书或我最喜欢的哈宾森钢铁公司的C:参考手册开始,若你

我的公司正在从汇编代码的微控制器过渡到C。我们正在考虑微芯片、Atmel、Renasas等将来使用C代码的项目。是否有良好的培训资源使我们的工程师跟上C语言的速度?研讨会、讲师、课程等。工程师的经验水平从未经培训到某些知识不等

首先想到的是编写Linux设备驱动程序的文档。这与您感兴趣的内容关系不大,但16位设备的编码在O'Reilly关于驱动程序编程的书中有介绍。一般来说,应该至少有一些有用的编码风格约定。

欢迎来到80年代:从经典的K&R C书或我最喜欢的哈宾森钢铁公司的C:参考手册开始,若你们能找到的话。我使用PIC,有几本关于PIC编程的书。我已经通过使用PC熟悉了C语言,但在这方面我没有发现它们有用。 C允许您接近汇编语言,并且大多数编译器都将其包含在内联中,因此它和任何高级语言一样接近汇编语言。我想,你应该很快就在家里快乐起来。
如果您有兴趣向前跳几十年;>你可能想考虑一个微芯片C编译器。我将很快对此进行研究,有一本关于MPLAB的好书。

首先,我建议使用Microchip的MPLAB和C编译器的学生版

C编译器在过期后不进行优化即可运行


MPLAB有一个内置的模拟器来运行程序。你可以通过旋转输出管脚来观察事物的移动。

好消息是,如果你的工程师有汇编方面的背景,一些“C”语言的概念,如指针和数组,将不难掌握,希望掌握

关于嵌入式C语言培训的具体问题,有一系列嵌入式培训课程,包括C和C++编写嵌入式代码。 另外,嵌入式系统会议几周前刚刚在波士顿举行过一次,下一次会议将于明年春天在硅谷举行,我认为会议上总是充满了关于嵌入式开发和不同语言的课程。但你可能没有等待6个月的奢侈

如果您的员工属于书本学习者类型,那么这些书可能会引起您的兴趣:


这应该给你足够的时间去思考一下。

有很多关于学习C编程的书,特别是关于你提到的体系结构。查看亚马逊搜索微控制器

此外,Microchip还为其特定的编译器和芯片举办了许多研讨会/课程——它们通常价格低廉,并且在美国各地有多个培训中心。有许多工程师需要培训,你可以考虑直接接触Microchip,看看在室内培训会花费多少。


-Adam

msp430是C最好的微型机之一。但是你最好的选择就是使用ARM,他们很快就会消除剩下的竞争对手。微芯片已经抢占了32位的核心来竞争,但我认为他们最终也会成为一个竞争对手。32位ARMs与PIC、8051和z80等疲惫的8位微处理器的价格相差无几,除了msp之外,您应该避免在低于32位内核的任何位置停车

它不是最好的,也不是最有效的编译器,但价格是合适的,没有其他编译器像gcc那样支持它。为许多平台构建或下载预构建的gcc相对容易。我会避免卷入任何需要制造商IDE和工具的事情。这些工具很好,在某些情况下需要开始使用micro,但从长远来看,您可能希望探索替代方案的优缺点

至于学习C,若你们知道汇编语言比任何其他语言,包括汇编语言只是语法。我相信你所需要的一切都可以通过谷歌在线找到。一旦你选择了一个评估板和一个micro stellaris有了一些好东西,就从研究他们的示例程序开始,然后使用google找到其他示例程序并从那里开始。特别是对于微控制器,但总的来说,您希望避免任何语言的gee-whiz特性,坚持使用简单、基本的东西,这些东西在任何编程语言中都是一样的。您体验的编译器,特别是专门为micro构建的编译器,不会处理诸如gcc、microsoft或borland之类的极端情况。这也将使您的代码更易于移植到其他micro或其他语言,但我会避免使用asm和C以上的语言,尤其是micro。 如果你必须要有一本书,那就用K&R或其他什么东西来代替它。请注意,直接出自第一版书的K&R C不会在任何地方真正编译。但它坚持基本原则,让你远离语言的问题领域

Linux设备驱动器
rs是非常高的级别,几乎在应用程序级别,大部分代码与金属无关。你不会在微型机上运行linux,甚至不会在arm微型机上运行linux,学习linux设备驱动程序对于其他目标来说是一个很好的练习,但对于这个目标来说不是。你想不惜一切代价避免操作系统,特别是linux和windows,你想学习非操作系统C编程。看看WINARM示例。这包括RTOS。

当然,您应该检查:


HTH

为什么提到16位

如果是因为你认为8位是20世纪的产物,你是对的。但16位也是如此。今天的32位控制器,尤其是ARM,比16位控制器更强大,而且通常更便宜。更便宜,因为大约16个比特使用过时的工艺,特征尺寸大,因此模具更大

事实上,我认为一些8位控制器比16位控制器的寿命更长。与16位或32位控制器相比,前者的优点可能是尺寸。在2.9x1.3毫米SOT23封装中不可能安装ARM控制器。此外,更小的8位控制器仍然比最小的ARM便宜

对我来说,使用16位控制器的唯一原因是安装代码,但既然你提到了你正在考虑的一些品牌,我想你现在没有使用它们

我会看一看手臂。ARM7TDMI性能稳定,可从多家供应商处获得多种配置。我可以推荐NXP LPC2000。起价约为1.50美元,对于32位控制器来说还不错

是否有良好的培训资源使我们的工程师跟上C语言的速度

对于初学者来说,Bruce Eckel的
下载量大约为100兆,课程本身是flash的。

对于16位微芯片图片,有

IIRC很不错,但他们非常专注于每个芯片做一件事。我们的应用程序复用了大量的I/O,因此,书中假设独占使用的示例/案例研究很难付诸实践

当我开始使用这种架构时,使用Microchip制作的示例板,$50-$100范围真的很有帮助,特别是如果您的目标与示例板大致相同


这是因为通过在示例板上运行它,可以轻松检查问题是否与硬件或软件相关

在英国或美国,都有专门教授嵌入式系统C语言的公司。浏览一下网络

除了在其他文章中提到的处理器之外,ST的STM32系列非常值得一看。它们是32位的,非常经济划算,并且有多种包装


ST似乎真的在努力让人们快速启动和运行他们的产品,推出了开发硬件,如。

volatile关键字是你的朋友。正确到手臂部分,直接转到一些基于ARM Cortex的MCU。微芯片书大概是8位图片。