嵌入式开发的特点进行简单的科普与回顾

硅农亚历山大 2018-06-11 09:21 次阅读

本文为RISC-V嵌入式开发准备篇2:嵌入式开发的特点介绍。

本文的目的是对嵌入式开发的特点进行简单的科普与回顾,为后续详细介绍“RISC-V GCC工具链”和“RISC-V汇编语言程序设计”打下基础。注:本文力求通俗易懂,主要面向初学者,对嵌入式开发有所了解的读者可以忽略此文。

在本号上次发表的文章《编译过程简介》中介绍过,嵌入式系统的程序编译过程和开发有其特殊性,譬如:

嵌入式系统需要使用交叉编译与远程调试的方法进行开发。

需要自己定义引导程序。

需要注意减少代码体积(Code Size)。

需要移植printf从而使得嵌入式系统也能够打印输入。

使用Newlib作为C运行库。

每个特定的嵌入式系统都需要配套的板级支持包。

下文将分别予以介绍。

1 交叉编译和远程调试

在本号上次发表的文章《编译过程简介》中介绍了如何在Linux系统的PC电脑上开发一个Hello World程序,对其进行编译,然后运行在此电脑上。在这种方式下,我们使用PC电脑上的编译器编译出该PC电脑本身可执行的程序,这种编译方式称之为本地编译。

嵌入式平台上往往资源有限,嵌入式系统(譬如常见ARM MCU或8051单片机)的存储器容量通常只在几KB到几MB之间,且只有闪存而没有硬盘这种大容量存储设备,在这种资源有限的环境中,不可能将编译器等开发工具安装在嵌入式设备中,所以无法直接在嵌入式设备中进行软件开发。因此,嵌入式平台的软件一般在主机PC上进行开发和编译,然后将编译好的二进制代码下载至目标嵌入式系统平台上运行,这种编译方式属于交叉编译。

交叉编译可以简单理解为,在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序,譬如,在x86平台的PC电脑上编写程序并编译成能运行在ARM平台的程序,编译得到的程序在x86平台上不能运行,必须放到ARM平台上才能运行。

与交叉编译同理,在嵌入式平台上往往也无法运行完整的调试器,因此当运行于嵌入式平台上的程序出现问题时,需要借助主机PC平台上的调试器来对嵌入式平台进行调试。这种调试方式属于远程调试。

常见的交叉编译和远程调试工具是GCC和GDB。在本号上次发表的文章《编译过程简介》中介绍了如何使用Linux自带的GCC本地编译一个Hello World程序并运行。但是,GCC不仅能作为本地编译器,还能作为交叉编译器;同理GDB不仅可以作为本地调试器,还可以作为远程调试器。

当作为交叉编译器之时,GCC通常有不同的命名,譬如:

arm-none-eabi-gcc和arm-none-eabi-gdb是面向裸机(Bare-Metal)ARM平台的交叉编译器和远程调试器。

所谓裸机(Bare-Metal)是嵌入式领域的一个常见形态,表示不运行操作系统的系统

而riscv-none-embed-gcc和riscv-none-embed-gdb是面向裸机RISC-V平台的交叉编译器和远程调试器。

本号后续发文《RISC-V GCC工具链的介绍》将介绍RISC-V GCC工具链的更多信息。

2 移植newlib或newlib-nano作为C运行库

newlib是一个面向嵌入式系统的C运行库。相对于本号上次发表的文章《编译过程简介》中介绍的glibc,newlib实现了大部分的功能函数,但体积却小很多。newlib独特的体系结构将功能实现与具体的操作系统分层,使之能够很好地进行配置以满足嵌入式系统的要求。由于专为嵌入式系统设计,newlib具有可移植性强、轻量级、速度快、功能完备等特点,已广泛应用于各种嵌入式系统中。

由于嵌入式操作系统和底层硬件的多样性,为了能够将C/C++语言所需要的库函数实现与具体的操作系统和底层硬件进行分层,newlib的所有库函数都建立在20个桩函数的基础上,这20个桩函数完成具体操作系统和底层硬件相关的功能:

I/O和文件系统访问(open、close、read、write、lseek、stat、fstat、fcntl、link、unlink、rename);

扩大内存堆的需求(sbrk);

获得当前系统的日期和时间(gettimeofday、times);

各种类型的任务管理函数(execve、fork、getpid、kill、wait、_exit);

这20个桩函数在语义、语法上与POSIX(Portable Operating System Interface of UNIX)标准下对应的20个同名系统调用完全兼容。

所以,如果需要移植newlib至某个目标嵌入式平台,成功移植的关键是在目标平台下找到能够与newlib桩函数衔接的功能函数或者实现这些桩函数。本号后续发文《基于HBird-E-SDK平台的软件开发与运行》将介绍蜂鸟E200的HBird-E-SDK平台如何实现移植实现newlib的桩函数。

注意:newlib的一个特殊版本newlib-nano版本进一步为嵌入式平台减少了代码体积(Code Size),因为newlib-nano提供了更加精简版本的malloc和printf函数的实现,并且对库函数使用GCC的-Os(侧重代码体积的优化)选项进行编译优化。

3 嵌入式引导程序和中断异常处理

在本号上次发表的文章《编译过程简介》中介绍了如何在Linux系统的PC电脑上开发一个Hello World程序,对其进行编译,然后运行在此电脑上。在这种方式下,程序员仅仅只需要关注Hello World程序本身,程序的主体由main函数组织而成,程序员可以无需关注Linux操作系统在运行该程序的main函数之前和之后需要做什么。事实上,在Linux操作系统中运行应用程序(譬如简单的Hello World)时,操作系统需要动态地创建一个进程、为其分配内存空间、创建并运行该进程的引导程序,然后才会开始执行该程序的main函数,待其运行结束之后,操作系统还要清除并释放其内存空间、注销该进程等。

从上述过程中可以看出,程序的引导和清除这些“脏活累活”都是由Linux这样的操作系统来负责进行。但是在嵌入式系统中,程序员除了开发以main函数为主体的功能程序之外,还需要关注如下两个方面:

引导程序:

嵌入式系统上电后需要对系统硬件和软件运行环境进行初始化,这些工作往往由用汇编语言编写的引导程序完成。

引导程序是嵌入式系统上电后运行的第一段软件代码。引导程序对于嵌入式系统非常关键,引导程序所执行的操作依赖于所开发的嵌入式系统的软硬件特性,一般流程包括:初始化硬件、设置异常和中断向量表、把程序拷贝到片上SRAM中、完成代码的重映射等,最后跳转到main函数入口。

本号后续发文《基于HBird-E-SDK平台的软件开发与运行》将结合HBird-E-SDK平台的引导程序实例了解引导程序的更多细节。

中断异常处理

中断和异常是嵌入式系统非常重要的一个环节,因此,嵌入式系统软件还必须正确地配置中断和异常处理函数。有关RISC-V架构的中断和异常的详细信息,请参见RISC-V中文书籍《手把手教你设计CPU——RISC-V处理器篇》 中第13章内容《不得不说的故事——中断和异常》。

本号后续发文《基于HBird-E-SDK平台的软件开发与运行》将结合HBird-E-SDK程序实例了解如何配置中断和异常处理函数。

4 嵌入式系统链接脚本

在本号上次发表的文章《编译过程简介》中介绍了如何在Linux系统的PC电脑上开发一个Hello World程序,对其进行编译,然后运行在此电脑上。在这种方式下,程序员也无需关心编译过程中的“链接”这一步骤所使用的链接脚本,无需为程序分配具体的内存空间。

但是在嵌入式系统中,程序员除了开发以main函数为主体的功能程序之外,还需要关注“链接脚本”为程序分配合适的存储器空间,譬如程序段放在什么区间、数据段放在什么区间等等。

本号后续发文《基于HBird-E-SDK平台的软件开发与运行》将结合HBird-E-SDK的“链接脚本”实例了解更多细节。

5 减少代码体积

嵌入式平台上往往存储器资源有限,嵌入式系统(譬如常见的ARM MCU或8051单片机)的存储器容量通常只在几KB到几MB之间,且只有闪存而没有硬盘这种大容量存储设备,在这种资源有限的环境中,程序的代码体积(Code Size)显得尤其重要,因此,有效地降低降低代码体积(Code Size)是嵌入式软件开发必须要考虑的问题,常见的方法如:

使用newlib-nano作为C运行库以取得较小代码体积(Code Size)的C库函数。

尽量少使用C语言的大型库函数,譬如在正式发行版本的程序中避免使用printf和scanf等函数。

如果在开发的过程中一定需要使用printf函数,可以使用某些自己实现的阉割版printf函数(而不是C运行库中提供的printf函数)以生成较小的代码体积。

除此之外,在C/C++语言的语法和程序开发方面也有众多技巧以取得更小的代码体积(Code Size)。

本号后续发文《基于HBird-E-SDK平台的软件开发与运行》将结合HBird-E-SDK平台实例了解更多“减少代码体积”的实现细节。减小代码体积(Code Size)的方法很多,本文在此不做一一赘述,请初学的读者自行查阅相关资料进行学习。

6 支持printf函数

在本号上次发表的文章《编译过程简介 》中介绍了如何在Linux系统的PC电脑上开发一个Hello World程序,程序中使用C语言的标准库函数printf打印了一个“Hello World”字符串。该程序在Linux系统里面运行的时候字符串被成功的输出到了Linux的终端界面上。在这个过程中,程序员无需关心Linux系统到底是如何将printf函数的字符串输出到Linux终端上的。事实上,如《编译过程简介》中所述,在Linux本地编译的程序会链接使用Linux系统的C运行库glibc,而glibc充当了应用程序和Linux操作系统之间的接口,glibc提供的 printf 函数就会调用如sys_write等操作系统的底层系统调用函数,从而能够将“字符串”输出到Linux终端上。

从上述过程中可以看出,由于有glibc的支持,所以printf函数能够在Linux系统中正确的进行输出。但是在嵌入式系统中,printf的输出却不那么容易了,基于如下几个原因:

嵌入式系统使用newlib作为C运行库,而newlib的C运行库所提供的printf函数最终依赖于如本文中所介绍的newlib桩函数write,因此必须实现此write函数才能够正确的执行printf函数。

嵌入式系统往往没有“显示终端”存在,譬如常见的单片机其作为一个黑盒子一般的芯片,根本没有显示终端。因此,为了能够支持显示输出,通常需要借助单片机芯片的UART接口将printf函数的输出重新定向到主机PC的COM口上,然后借助主机PC的串口调试助手显示出输出信息。同理,对于scanf输入函数,也需要通过主机PC的串口调试助手获取输入然后通过主机PC的COM口发送给单片机芯片的UART接口。

从以上两点可以看出,嵌入式平台的UART接口非常重要,往往扮演了输出管道的角色,为了能够将printf函数的输出定向到UART接口,需要实现newlib的桩函数write,使其通过编程UART的相关寄存器将字符通过UART接口输出。本号后续发文《基于HBird-E-SDK平台的软件开发与运行》将结合HBird-E-SDK平台移植printf函数的实例了解更多细节。

7 提供板级支持包

对于特定的嵌入式硬件平台,为了方便用户在硬件平台上开发嵌入式程序,硬件平台一般会提供板级支持包(Board Support Package,BSP)。板级支持包所包含的内容没有绝对的标准,通常说来,其必须包含如下内容:

底层硬件设备的地址分配信息

底层硬件设备的驱动函数

系统的引导程序

中断和异常处理服务程序

系统的链接脚本

如果使用newlib作为C运行库,一般还提供newlib桩函数的实现。

由于板级支持包往往会将很多底层的基础设施和移植工作搭建好,因此应用程序开发人员通常都无需关心本文第1.2节至第1.6节中描述的内容,能够从底层细节中被解放出来避免重复建设而出错。本号后续发文《基于HBird-E-SDK平台的软件开发与运行》将结合HBird-E-SDK平台的BSP实例了解更多细节。

原文标题:RISC-V嵌入式开发准备篇2:嵌入式开发的特点介绍

文章出处:【微信号:real_farmer,微信公众号:硅农亚历山大】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

如何让嵌入式系统保持稳健?详细的方法和技术分析

嵌入式系统现在变得更加智能,互连程度更高,当然也比以前要复杂。要让嵌入式系统保持稳健并尽可能接近无错....

的头像 ittbank 发表于 08-18 10:52 59次 阅读
如何让嵌入式系统保持稳健?详细的方法和技术分析

智能联网设备需要复杂的时钟树,在嵌入式系统中实现时钟

石英谐振器具有高Q值和高输出能力,适用于抖动必须极低的应用。 可以实现100飞秒的相位噪声(在传统....

的头像 Microchip微芯 发表于 08-16 11:10 133次 阅读
智能联网设备需要复杂的时钟树,在嵌入式系统中实现时钟

IMA多核处理系统的研究应用和测试与验证的详细资料免费下载

与单核处理器相比较,多核处理器在性能、功耗、体积、重量以及成本各方面都有绝对的优势,这使得多核处理器....

发表于 08-14 08:00 21次 阅读
IMA多核处理系统的研究应用和测试与验证的详细资料免费下载

深度解析与探讨:嵌入式系统的高低温故障的根源

ARM7、ARM9 还有PXA3XX 等等嵌入式ARM都存在高低温时容易爆发故障?尤其是主频越高的CPU,越容易爆发高低温故障...

发表于 08-13 13:44 371次 阅读
深度解析与探讨:嵌入式系统的高低温故障的根源

新手要学习编程语言,我必推荐Python

Python软件实现和FPGA性能潜力的结合是一个非常有意义的工作,将会开创出一个类似于树莓派和Ar....

的头像 传感器技术 发表于 08-08 18:30 539次 阅读
新手要学习编程语言,我必推荐Python

J-Link探针支持RISC-V、ARM和其它CPU平台

SEGGER销售与市场营销总监Harald Schober补充道:“我们很高兴能够与UltraSoC....

的头像 华兴万邦技术经济学 发表于 08-07 16:47 997次 阅读
J-Link探针支持RISC-V、ARM和其它CPU平台

RISC-V指令集架构为何?为何逐渐获科技大厂与新创业者的支持?

RISC-V虽采开放免费路线,但某些地方不同于其他开放原始程式码的硅智财专案,例如它有自己的硬件描述....

的头像 半导体行业联盟 发表于 08-03 16:48 743次 阅读
RISC-V指令集架构为何?为何逐渐获科技大厂与新创业者的支持?

印度研制出第一款 RISC-V 芯片

据报道,印度研制出了第一款 RISC-V 芯片原型 Shakrti。 RISC-V 是基于精简指令集(RISC)原则的一个开源指...

发表于 08-03 10:06 633次 阅读
印度研制出第一款 RISC-V 芯片

嵌入式系统Kconfig .config Makefile的联系和区别

2.6内核的Makefile分为5个组成部分: 1. 最顶层的Makefile :读取 .confi....

的头像 嵌入式ARM 发表于 08-01 16:20 176次 阅读
嵌入式系统Kconfig .config Makefile的联系和区别

嵌入式系统的知识体系和学习误区

1 嵌入式系统的知识体系 嵌入式系统的应用范围可以粗略分为两大类:(1)电子系统的智能化(工业控制,现代农业、家用电器、汽车电...

发表于 07-30 14:32 130次 阅读
嵌入式系统的知识体系和学习误区

单片机与嵌入式系统有什么区别和联系?

随着电子信息科学技术信息化,智能化,网络化的发展,单片机与嵌入式也获得了广阔的应用空间。本文简单分析....

的头像 玩转单片机 发表于 07-29 11:44 686次 阅读
单片机与嵌入式系统有什么区别和联系?

智慧小区开发商将目光聚焦在安全防范智能性服务特点

绿地中央广场监控解决方案不仅很好地解决了小区关于安全管理与防范、监控本地存储和监控远程查看等核心诉求....

的头像 中控视频监控 发表于 07-27 17:01 445次 阅读
智慧小区开发商将目光聚焦在安全防范智能性服务特点

ARM与RISC-V:精简指令集兄弟之争

ARM教育计划分为三个阶段,一是基于ARM技术和应用进行核心课程的开放;二是为高校的课程和相关教育套....

的头像 芯师爷 发表于 07-25 19:06 688次 阅读
ARM与RISC-V:精简指令集兄弟之争

嵌入式系统基础知识汇总

本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。

的头像 传感器技术 发表于 07-24 11:30 320次 阅读
嵌入式系统基础知识汇总

关于嵌入式系统的特点以及其产品的开发和应用过程详解

在当前数字信息技术和网络技术高速发展的后PC(Post-PC)时代,嵌入式系统已经广泛地渗透到科学....

发表于 07-23 16:14 101次 阅读
关于嵌入式系统的特点以及其产品的开发和应用过程详解

如何使用AES加密防止固件泄露?

随着电子产品更新换代速度的加快,往往都会进行系统升级或APP功能维护升级,但是由此产生了两个主要问题....

的头像 周立功单片机 发表于 07-22 12:17 373次 阅读
如何使用AES加密防止固件泄露?

这些常用的9个嵌入式工程师常见面试题你会不会?

1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) ....

的头像 单片机爱好者 发表于 07-19 16:39 561次 阅读
这些常用的9个嵌入式工程师常见面试题你会不会?

7个导致嵌入式系统失败罪魁祸首

本文就给大家介绍一下是什么原因会让一个项目在不知不觉中慢慢地且不声不响地走上失败之路。

的头像 嵌入式资讯精选 发表于 07-17 14:53 227次 阅读
7个导致嵌入式系统失败罪魁祸首

介绍基于RISC-V的芯片

大家可能都觉得RISC-V是个开源的精简指令集CPU设计方案,其实这是错误的。

的头像 面包板社区 发表于 07-13 18:07 614次 阅读
介绍基于RISC-V的芯片

要想最大限度的减少潜在的数据安全漏洞,首先就要做到像黑客一样思考

如果你是一名负责搭建嵌入式系统(或软件、设备、网络等)的工程师或开发者,那么你排在最高优先级之一的....

发表于 07-13 14:54 126次 阅读
要想最大限度的减少潜在的数据安全漏洞,首先就要做到像黑客一样思考

请问如何开发自己的嵌入式系统?

[table] [tr][td] 多数Linux系统是在PC平台上运行,然而Linux作为嵌入式系统也是非常稳定的。本文描绘了一个嵌入式系统的概...

发表于 07-13 07:27 63次 阅读
请问如何开发自己的嵌入式系统?

后起之秀“RISC-V”,是什么让它给ARM带来如此恐惧,短短两天就关闭了嘲讽RISC-V的网站?

ARM是目前最成功的低功耗处理器架构了,不论是移动处理器还是嵌入式市场,ARM架构芯片都是绝对的主流....

发表于 07-12 16:47 169次 阅读
后起之秀“RISC-V”,是什么让它给ARM带来如此恐惧,短短两天就关闭了嘲讽RISC-V的网站?

浅谈嵌入式系统失败7大的原因

许多工程师都有一种完美主义者的态度。这种态度所带来的问题是,不可能开发出完美的系统,撰写出完美的代码....

发表于 07-12 14:55 198次 阅读
浅谈嵌入式系统失败7大的原因

以数据为中心的计算如何以RISC-V解决问题

我们目睹了数据的一系列巨大变化,包括数据如何被生成、处理以及进一步利用以获取额外的价值和智能,而这些....

的头像 人间烟火123 发表于 07-11 12:25 1391次 阅读
以数据为中心的计算如何以RISC-V解决问题

嵌入式开发者需要掌握的硬件知识

  对于一些刚接触嵌入式系统开发的小白来说,误以为嵌入式开发只是需要掌握软件即可。但当你对嵌入式掌握....

发表于 07-10 11:00 45次 阅读
嵌入式开发者需要掌握的硬件知识

嵌入式系统的特点

  最近。嵌入式这个词越来越火,假如放在前几年,或许你大概不知道嵌入式个啥?而随着大数据,物联网等的....

发表于 07-09 11:53 94次 阅读
嵌入式系统的特点

RISC-V彰显亚洲地区增长势头

RISC-V 基金会执行总监 Rick O’Connor 表示:“RISC-V 基金会致力于通过开放....

的头像 章鹰 发表于 07-05 13:53 1320次 阅读
RISC-V彰显亚洲地区增长势头

ARM和嵌入式系统方向介绍

[table] [tr][td] 关于ARM和嵌入式系统方向嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些...

发表于 07-05 08:04 147次 阅读
ARM和嵌入式系统方向介绍

ARM快速嵌入式系统原型设计下载地址

[table] [tr][td] ARM快速嵌入式系统原型设计:基于开源硬件MBED             ...

发表于 07-04 00:00 90次 阅读
ARM快速嵌入式系统原型设计下载地址

适合DFU的微控制器都有哪些你知道吗?

几乎所有的嵌入式系统都需要能够在现场更新其固件,从而添加新特性或修复漏洞。然而,固件现场更新可能会颇....

的头像 电子发烧友网 发表于 07-03 10:20 388次 阅读
适合DFU的微控制器都有哪些你知道吗?

嵌入式系统的C语言译自《C for Embedded Systems》讲稿(共98页pdf电子书下载)

[table] [tr][td] 嵌入式系统的C语言 译自《C for Embedded Systems》讲稿 刘永重   译     ...

发表于 07-02 05:21 81次 阅读
嵌入式系统的C语言译自《C for Embedded Systems》讲稿(共98页pdf电子书下载)

SiFive发布低功耗32位内核 E2系列,包含SiFive E20和E21

RISC-V是一个开放的指令集架构(ISA),最初由加州大学伯克利分校的计算机科学系开发。它基于流行....

的头像 电子工程师时间 发表于 06-27 08:15 997次 阅读
SiFive发布低功耗32位内核 E2系列,包含SiFive E20和E21

关于MIPS产品的介绍与发展情况

本主题为MIPS 公司亚太区/大中华区技术总监 许丁坚在2009中国集成电路产业促进大会-嵌入式系统....

的头像 Mips视频 发表于 06-27 00:36 296次 观看
关于MIPS产品的介绍与发展情况

一个新的领域:RISC-V开源硬件

在此次DAC大会前,RISC-V社群中的许多成员已经在不断为行业带来新的亮点和热点。UltraSoC....

的头像 EETOP 发表于 06-26 11:18 698次 阅读
一个新的领域:RISC-V开源硬件

请问如何设置S3C2440时钟的时间?应该注意哪些事项?

[table] [tr][td] S3C2440 的时钟设置时间:   一个嵌入式系统中,晶振就像心脏。必须先确定晶振,设置...

发表于 06-26 07:03 221次 阅读
请问如何设置S3C2440时钟的时间?应该注意哪些事项?

Maxim Integrated保护嵌入式系统的交钥匙方案面世,有利于防止系统遭受侵入式攻击

在法国戛纳举办的TRUSTECH 2017展会上(当地时间2017年11月28日至30日) ,Max....

发表于 06-25 11:13 66次 阅读
Maxim Integrated保护嵌入式系统的交钥匙方案面世,有利于防止系统遭受侵入式攻击

异常和中断处理简介

任何一种中断模式都可以通过手动的修改cpsr的值来进入。但是User和System模式是仅有的2个不....

的头像 嵌入式ARM 发表于 06-25 10:49 732次 阅读
异常和中断处理简介

嵌入式系统的定义及嵌入式系统的开发流程

建立交叉开发环境:安装交叉编译工具链(如arm-linux-gcc)、安装开发调试工具、设置好环境变....

的头像 嵌入式ARM 发表于 06-22 15:16 696次 阅读
嵌入式系统的定义及嵌入式系统的开发流程

介绍如何用Nios II 软核处理器来开发FPGA嵌入式系统软件

FPGA在嵌入式设计中的应用越来越普遍。了解怎样采用流行的Nios® II 软核处理器来轻松开发FP....

的头像 英特尔 Altera视频 发表于 06-22 02:01 288次 观看
介绍如何用Nios II 软核处理器来开发FPGA嵌入式系统软件

对RISC-V GCC工具链进行简单的中文科普与介绍

对于riscv-none-embed版本的工具链而言,为了方便用户直接使用预编译好的工具链,Ecli....

的头像 硅农亚历山大 发表于 06-14 11:33 1591次 阅读
对RISC-V GCC工具链进行简单的中文科普与介绍

Microchip图形库的介绍和字体的详细资料概述

嵌入式系统应用的显示各不相同,从复杂的设备,例如 PDA,移动电话和便携式电脑,到简单的设备,例如家....

发表于 06-14 09:27 63次 阅读
Microchip图形库的介绍和字体的详细资料概述

嵌入式专题讲座:EasyARM1138的功能与应用

本视频内容包括:嵌入式系统概括,嵌入式系统概念,ARM 简介,Cortex-M3 简介,Lumina....

的头像 ARM视频 发表于 06-13 08:32 515次 观看
嵌入式专题讲座:EasyARM1138的功能与应用

如何使用MPLAB X IDE的详细中文使用手册概述

本文档介绍了如何使用 MPLAB X IDE。 MPLAB® X IDE 是一款软件程序,用于为 ....

发表于 06-11 13:28 93次 阅读
如何使用MPLAB X IDE的详细中文使用手册概述

C语言模块化程序设计需理解概念

等类似问题。面对这些问题,我们只能发出由衷的感慨:世界上还有很多有意义的事情等着我们去消化摄入的食物....

的头像 嵌入式ARM 发表于 06-08 14:49 833次 阅读
C语言模块化程序设计需理解概念

什么是HiFive1?详细介绍HiFive1开发套件的核心

这意味着它使用的是基本 32 位 RISC-V 整数指令集 (RV32I),具有整数硬件乘除 (M)....

的头像 电子发烧友网 发表于 06-05 09:36 979次 阅读
什么是HiFive1?详细介绍HiFive1开发套件的核心

Python工程师面试必备25条知识点

1.到底什么是Python?你可以在回答中与其他技术进行对比 Python是一种解释型语言。与C语言....

发表于 06-04 11:16 59次 阅读
Python工程师面试必备25条知识点

对初学者对嵌入式系统学习的误区及建议

对初学者对嵌入式系统学习的误区及建议 1 嵌入式系统的知识体系 嵌入式系统的应用范围可以粗略分为两大....

发表于 06-04 11:10 115次 阅读
对初学者对嵌入式系统学习的误区及建议

利用Microchip 全新的 PIC®和AVR® MCU在闭环控制应用中提高系统性能

通过改进架构,PIC®和AVR® 8位单片机(MCU) 针对闭环控制进行了优化,让系统能够降低中央处....

的头像 人间烟火123 发表于 06-01 10:51 2734次 阅读
利用Microchip 全新的 PIC®和AVR® MCU在闭环控制应用中提高系统性能

SiFive引领云端“共享设计”革新,“共享设计”模式让小微企业没有难做的芯片

SiFive是基于RISC-V指令集架构提供快速开发式处理器核心IP的领先供应商,核心团队就是由RI....

的头像 DIGITIMES 发表于 05-30 11:18 1394次 阅读
SiFive引领云端“共享设计”革新,“共享设计”模式让小微企业没有难做的芯片

嵌入式系统分析工具

虽然软件开发人员并非硬件工程师,但准备一些有助于检测和操作硬件的工具仍然很有用。第一种必不可少的工具....

的头像 电子发烧友网 发表于 05-30 09:30 1840次 阅读
嵌入式系统分析工具

硬件工程师学习从何开始?市面上七大主流单片机的详细介绍

根据对象体系的功能复杂性和计算处理复杂性,提供的不同选择。对于简单的家电控制嵌入式系统,采用简单的8....

的头像 EDN电子技术设计 发表于 05-30 08:40 3033次 阅读
硬件工程师学习从何开始?市面上七大主流单片机的详细介绍

大神教你:嵌入式系统C++代码的变成技巧

在嵌入式软件技术中,C++语言具有较高的编程效率。但是,要实现高效率,还有许多问题需要特别注意。首先....

发表于 05-25 09:20 337次 阅读
大神教你:嵌入式系统C++代码的变成技巧

传统编程结构的局限性,使用“前后台方式”进行编程

使用“前后台方式”进行编程时,为保证任务(5)的及时性,使用了UART中断,当UART完成一个字节的....

的头像 21ic电子网 发表于 05-25 09:07 980次 阅读
传统编程结构的局限性,使用“前后台方式”进行编程

一文教会你:搭建完整的红外在线监控项目

随着互联网技术的发展,远程智能监控逐渐走进千家万户。但开发一套自动化监控项目的过程,却依旧十分繁琐复....

发表于 05-24 15:52 227次 阅读
一文教会你:搭建完整的红外在线监控项目

一文看懂:嵌入式风潮引领现代生活

呼啸而来的嵌入式风潮,正在悄悄地改变着一些传统行业的面貌。古老的、技术驱动的半导体行业,已经到了一个....

发表于 05-24 15:50 161次 阅读
一文看懂:嵌入式风潮引领现代生活

技术讲解:嵌入式智能人机界面与PLC的通讯

近年来,“嵌入式”一词越来越多的被人们提及,嵌入式产品被应用到各行各业。与嵌入式相关的技术如嵌入式产....

发表于 05-24 14:12 213次 阅读
技术讲解:嵌入式智能人机界面与PLC的通讯

RX600系列的新型RX65N/RX651微控制器

与此同时,瑞萨电子和软硬件及嵌入式系统开发工具供应商SEGGER宣布,双方将通过协作,为使用瑞萨电子....

的头像 瑞萨电子 发表于 05-24 08:49 2820次 阅读
RX600系列的新型RX65N/RX651微控制器

赛普拉斯TrueTouchCYAT817触摸屏控制器以汽车级质量为核心

赛普拉斯汽车人机界面高级市场营销总监JingMu博士表示:“汽车制造商对车载信息娱乐用户界面的要求与....

发表于 05-21 07:01 244次 阅读
赛普拉斯TrueTouchCYAT817触摸屏控制器以汽车级质量为核心

嵌入式学习的七大钥匙

  从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。本文介绍了7个易操作且可以长久使用的...

发表于 12-12 11:25 1565次 阅读
嵌入式学习的七大钥匙

嵌入式系统 硬件与软件架构(英文).pdf 需要的拿走。

不会设置免积分下载,会的可以留言,下次传资料,免积分下载。 ...

发表于 11-15 10:29 2139次 阅读
嵌入式系统 硬件与软件架构(英文).pdf 需要的拿走。