张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

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

硅农亚历山大 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,微信公众号:硅农亚历山大】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

晶心科技推出RISC-V多核心处理器及DSP指令集

晶心科技今天在其共同主持的RISC-V台湾地区研讨会上首度公开其32位A25MP和64位AX25MP....
发表于 05-23 09:25 83次 阅读
晶心科技推出RISC-V多核心处理器及DSP指令集

学习嵌入式系统有哪些方向?

无论什么基础学习嵌入式,只要学习嵌入式的人都知道,嵌入式系统分为4层,硬件层、驱动层、操作系统层和应....
发表于 05-22 18:00 8次 阅读
学习嵌入式系统有哪些方向?

RISC-V +IoT OS!中科蓝讯与RT-Thread战略合作,共推自主物联网生态发展

作为中国本土IC设计公司,中科蓝讯一直致力于自主知识产权芯片的研发,在公司成立之初,就已采用RISC....
发表于 05-20 16:42 170次 阅读
RISC-V +IoT OS!中科蓝讯与RT-Thread战略合作,共推自主物联网生态发展

嵌入式系统的详细资料介绍和在智能家居的应用详细资料概述

嵌入式系统EOS (Embedded OperatingSystem)是以应用为中心,以计算机技术为....
发表于 05-17 08:00 45次 阅读
嵌入式系统的详细资料介绍和在智能家居的应用详细资料概述

基于嵌入式系统的多媒体实时数据网络传输

嵌入式系统目前已广泛应用于信息家电、网络通信和工业控制等各个领域。典型的嵌入式系统主要由嵌入式硬件和软件构成,其中硬件部...
发表于 05-17 07:00 72次 阅读
基于嵌入式系统的多媒体实时数据网络传输

物联网时代下嵌入式可以在那些行业应用详细资料说明

在现在这个物联网快速发展的时代,嵌入式系统是当前最热门的IT应用领域之一。嵌入式系统用在一些特定专用....
发表于 05-16 18:06 6次 阅读
物联网时代下嵌入式可以在那些行业应用详细资料说明

ARM嵌入式系统的硬件和软件及教学问题的分析与总结

由于各种新型微处理器的出现和应用的不断深化,嵌入式系统在后PC时代得到了空前的发展。随着时间的推移和....
发表于 05-16 18:06 7次 阅读
ARM嵌入式系统的硬件和软件及教学问题的分析与总结

完善的生态是RISC-V取得商业成功的关键!

从底层的使用者角度看,一个CPU的指令集架构就是以程序员的视角所看到的CPU,例如有多少寄存器、寻址....
的头像 嵌入式资讯精选 发表于 05-16 16:44 439次 阅读
完善的生态是RISC-V取得商业成功的关键!

基于嵌入式系统的Web服务器建立设计

只要在嵌入式设备中集成了Web服务器,就能实现用户与嵌入式设备低成本、高通用性的信息交流,即客户端利....
发表于 05-16 15:20 133次 阅读
基于嵌入式系统的Web服务器建立设计

嵌入式系统应用中的Reset稳定性设计浅析

在嵌入式系统电子设备的运行中,当出现程序跑飞的情况或程序跳转时,可用手动或自动的方法发信号给硬件特定....
发表于 05-16 11:02 104次 阅读
嵌入式系统应用中的Reset稳定性设计浅析

采用嵌入式Linux图形用户接口的实现

随着Internet与网络的迅速发展 并向家庭领域不断扩展,使消费电子、计算机、通信(3C)一体化趋势日趋明显,嵌入式系统再度成为研...
发表于 05-16 07:00 146次 阅读
采用嵌入式Linux图形用户接口的实现

嵌入式系统的硬件层、驱动层、操作系统层和应用层的详细资料说明

嵌入式系统这个名词还是比较难以准确定义的,一般把“用于控制、监视或者辅助操作机器和设备的装置”称为嵌....
发表于 05-15 18:10 23次 阅读
嵌入式系统的硬件层、驱动层、操作系统层和应用层的详细资料说明

嵌入式系统接口应用基础的详细资料概述

根据数据的通信形式,嵌入式系统接口可以分为串行数据传输接口和并行数据传输接口两种形式。串行数据传输接....
发表于 05-15 18:08 15次 阅读
嵌入式系统接口应用基础的详细资料概述

平头哥、华为都上车了!物联网给了RISC-V绝佳机会

在参加RISC-V 基金会中国路演深圳站活动时,电子发烧友记者感触最深的是RSIC-V开放的态度以及....
的头像 芯链 发表于 05-15 13:47 3023次 阅读
平头哥、华为都上车了!物联网给了RISC-V绝佳机会

随着嵌入式系统的高速发展 嵌入式机器视觉系统的应用也越来越广泛

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、....
发表于 05-14 08:47 173次 阅读
随着嵌入式系统的高速发展 嵌入式机器视觉系统的应用也越来越广泛

多总线UART芯片的原理及相关应用

本文介绍了专为嵌入式系统设计的VK32系列新型多总线接口通用异步串行收发接器(UART)器件的原理以及在税控POS、远程自动...
发表于 05-13 07:00 49次 阅读
多总线UART芯片的原理及相关应用

采用ARM920T实现IDE硬盘接口设计

作者:何明聪 胡继承 孙世磊 1 引言     20世纪90年代后期,嵌入式系统在工业控制、远程监控和数据采集等领域的...
发表于 05-13 07:00 57次 阅读
采用ARM920T实现IDE硬盘接口设计

汽车嵌入式系统的设计过程、方法和测试工具框架浅析

由于有了基于模型的设计,使得开发大量的汽车嵌入式系统时,可以由模型自动生成最终编译的软件。不过,这项....
发表于 05-09 08:33 130次 阅读
汽车嵌入式系统的设计过程、方法和测试工具框架浅析

嵌入式系统工程设计的详细资料概述

本节就重点叙述在嵌入式系统的设计过程中的各个基本过程,并对每个过程所需要考虑的内容进行分析。
发表于 05-07 18:21 30次 阅读
嵌入式系统工程设计的详细资料概述

如何保持基于RISC-V的嵌入式设计灵活性

如果是桌面类型的处理器,服务器,那相信很多人会想到Intel的x86架构;而如果是移动处理器,微控制....
的头像 电子发烧友网工程师 发表于 05-07 17:07 338次 阅读
如何保持基于RISC-V的嵌入式设计灵活性

如何使用ARM进行嵌入式linux的系统设计

本文简要介绍了ARM处理器的特点及其基本结构,详细论述了基于ARM的嵌入式linux系统的关键技术,....
发表于 05-06 18:22 30次 阅读
如何使用ARM进行嵌入式linux的系统设计

FPGA为嵌入式系统带来了很多优点 同时也带来了很多挑战

“嵌入式系统”这个词范围很广,从数字式电子表到变电站电力检测系统中的PC都可归于这一范畴。大多数情况....
发表于 05-06 14:37 284次 阅读
FPGA为嵌入式系统带来了很多优点 同时也带来了很多挑战

嵌入式软件测试的经典参考书PDF电子书免费下载

《嵌入式软件测试》立足于工业实践,旨在为有效控制复杂的嵌入式软件测试过程提供解决方案。书中讲述了嵌入....
发表于 05-05 08:00 44次 阅读
嵌入式软件测试的经典参考书PDF电子书免费下载

Tridium Niagara4控件开发参考手册中文版免费下载

Niagara 框架使用 Java 虚拟机作为在各种各样的操作系统及硬件平台上的统一的运行时环境,从....
发表于 05-05 08:00 47次 阅读
Tridium Niagara4控件开发参考手册中文版免费下载

基于μC/OS-II嵌入式系统开发中低功耗系统的设计

本文结合FM电台手持式测试仪这一实例,从系统硬件设计、系统软件设计、利用内核扩展接口和产品应用特点这....
的头像 电子发烧友网工程师 发表于 05-01 00:47 202次 阅读
基于μC/OS-II嵌入式系统开发中低功耗系统的设计

UCOS和uClinux的有什么区别UCOS和uClinux的详细资料介绍

随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和....
发表于 04-30 18:24 39次 阅读
UCOS和uClinux的有什么区别UCOS和uClinux的详细资料介绍

第九届ISO 26262会议,持续时间最长的关于ISO 26262技术的专家论坛

SotIF和AI:和SotIF有关的展示是最新的人工智能和机器学习研究成果在汽车系统中的应用,出于架....
的头像 Imagination Tech 发表于 04-30 11:15 497次 阅读
第九届ISO 26262会议,持续时间最长的关于ISO 26262技术的专家论坛

使用STM32单片机进行外部中断实验的详细资料说明

实验目的 理解中断的基本概念。 掌握STM32的中断源及中断优先级。 掌握STM32外部中断技....
发表于 04-29 18:24 86次 阅读
使用STM32单片机进行外部中断实验的详细资料说明

汽车电子嵌入式软件编程接口库的内容和设计方法

引言 近年来,随着电子科学和计算机技术的飞速发展,汽车电子设备的应用越来越多。目前,国内汽车电子技术水平跟国外汽车厂商...
发表于 04-29 07:00 123次 阅读
汽车电子嵌入式软件编程接口库的内容和设计方法

RISC-V会是一道曙光吗?RISC-V与RUST相遇引发操作系统教学新尝试

身为研究操作系统的老师,陈渝认为,RISC-V精简指令集听起来属于硬件范畴,但是其实RISC-V与软....
的头像 嵌入式资讯精选 发表于 04-28 18:57 2102次 阅读
RISC-V会是一道曙光吗?RISC-V与RUST相遇引发操作系统教学新尝试

ARM9 嵌入式系统设计与开发教程

ARM9嵌入式系统设计与开发教程
发表于 04-28 09:31 355次 阅读
ARM9 嵌入式系统设计与开发教程

如何使用小型Zynq SoC硬件加速改进实时车辆检测算法的实现

针对 TINY YOLO车辆检测算法计算量过大,且在小型嵌入式系统中难以达到实时检测要求的问题。利用....
发表于 04-26 16:24 60次 阅读
如何使用小型Zynq SoC硬件加速改进实时车辆检测算法的实现

RISC-V处理器开源套件走进华中科技大学

学习RISC-V正当时!
的头像 电子发烧友网工程师 发表于 04-26 15:00 874次 阅读
RISC-V处理器开源套件走进华中科技大学

如何使用工业控制和嵌入式系统的串口通信讲解多线程的典型应用

本章我们将以工业控制和嵌入式系统中运用极为广泛的串口通信为例讲述多线程的典型应用。而网络通信也是多线....
发表于 04-25 18:27 55次 阅读
如何使用工业控制和嵌入式系统的串口通信讲解多线程的典型应用

蔡明介多年前投的这家公司,为何能站到RISC-V爆发的风口上?

芯片指令集架构(IP)是沟通软硬件运算之间的桥梁,是处理器的灵魂。
的头像 芯智讯 发表于 04-25 16:30 632次 阅读
蔡明介多年前投的这家公司,为何能站到RISC-V爆发的风口上?

随着嵌入式系统复杂度的提高 软硬件的协同是嵌入式系统的关键

我国拥有世界上最大的消费电子产品市场,手机、彩电、VCD、家用电器等的拥有量都居世界第一。随着经济水....
发表于 04-25 14:28 121次 阅读
随着嵌入式系统复杂度的提高 软硬件的协同是嵌入式系统的关键

采用Au1200实现多媒体播放终端设计

作者:曹建清,马文新,厉家华,周政新 1 引言   随着多媒体技术和网络技术的不断发展,在楼宇电视广告播放技术上,...
发表于 04-25 07:00 74次 阅读
采用Au1200实现多媒体播放终端设计

基于FPGA的多路PWM输出接口设计仿真

1引言 在许多嵌入式系统的实际应用中,需要扩展FP-GA(现场可编程门阵列)模块,将CPU实现有困难或实现效率低的部分用F...
发表于 04-25 07:00 92次 阅读
基于FPGA的多路PWM输出接口设计仿真

经典UML状态图实用C++设计嵌入式系统事件驱动型编程技术资料分享

UML状态图的实用C/C++设计 嵌入式系统的事件驱动编程技术第二版 内含国外版本和国内翻译版本 ...
发表于 04-24 14:34 181次 阅读
经典UML状态图实用C++设计嵌入式系统事件驱动型编程技术资料分享

一种基于嵌入式系统的语音口令识别系统的设计

随着计算机技术和信息技术的迅速发展,语音口令识别已经成为了人机交互的一个重要方式之一。语音口令识别系....
发表于 04-23 15:52 184次 阅读
一种基于嵌入式系统的语音口令识别系统的设计

首款对非易失性数据存储的单芯片存储技术——FRAM

在许多较早期的系统中,代码存储使用ROM或者OTP-EPROM,它们是非易失性的且不能在系统中进行修....
发表于 04-21 09:53 125次 阅读
首款对非易失性数据存储的单芯片存储技术——FRAM

单片机与嵌入式系统实验教程之P1、P3 口的应用实验说明

一 、 实验目的 1.掌握 P3 口、P1 口简单使用。 2.学习延时程序的编写和使用。二 、 实验....
发表于 04-17 17:28 93次 阅读
单片机与嵌入式系统实验教程之P1、P3 口的应用实验说明

单片机与嵌入式系统实验教程之电子钟实验的资料包括程序和电路图

发表于 04-17 17:28 78次 阅读
单片机与嵌入式系统实验教程之电子钟实验的资料包括程序和电路图

利尔达科技将提供Nordic全系列ULP无线连接硬件、固件、开发工具和参考设计

利尔达科技将提供Nordic全系列ULP无线连接硬件、固件、开发工具和参考设计,包括支持蓝牙5、AN....
的头像 Nordic半导体 发表于 04-16 11:31 611次 阅读
利尔达科技将提供Nordic全系列ULP无线连接硬件、固件、开发工具和参考设计

ARM开发板的基础知识简单介绍

ARM开发板,从概念上来讲,与软件外包非常类似(软件外包是指软件外包提供商为了集中精力从事核心竞争力....
发表于 04-15 17:34 91次 阅读
ARM开发板的基础知识简单介绍

SDRAM的布线规则 基于Allegro嵌入式高速电路布线设计

EP9315在操作系统下主频达到200M,总线频率100M,外设时钟为50M,数据线和地址线的布线密....
发表于 04-13 11:49 158次 阅读
SDRAM的布线规则 基于Allegro嵌入式高速电路布线设计

FPGA平台架构在嵌入式系统中的使用

Virtex-II ProTM平台FPGA产品基于高性能的Virtex-IITM结构,为嵌入式系统设....
发表于 04-13 10:07 133次 阅读
FPGA平台架构在嵌入式系统中的使用

基于有限状态机的嵌入式系统串口通信帧同步方法设计

串口通信是日前单片机和DSP等嵌入式系统之间,以及嵌入式系统与PC机或无线模块之间的一种非常重要且普....
发表于 04-10 08:48 166次 阅读
基于有限状态机的嵌入式系统串口通信帧同步方法设计

J2ME运行平台设计在MTK系统上的设计和实现

引  言 现在Java技术十分流行,发展势头强劲,而且在SUN公司推出了J2ME平台后,众多移动式系统都纷纷支持J...
发表于 04-10 07:00 330次 阅读
J2ME运行平台设计在MTK系统上的设计和实现

与传统的嵌入式系统相比 PocketIX采用标准的Linux结构

IT业,如果要问当今最热门的话题是什么,从事硬件开发的人会毫不犹豫地回答:信息家电;从事软件开发的人....
发表于 04-09 15:39 99次 阅读
与传统的嵌入式系统相比 PocketIX采用标准的Linux结构

Linux应用于嵌入式系统的开发优点浅析

按 照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。具体....
发表于 04-05 14:51 150次 阅读
Linux应用于嵌入式系统的开发优点浅析

HiFive1 Rev B与HiFive1的区别

这个升级的改进还是显而易见的,FE310-G002增加了对最新RISC-V调试规范0.13,硬件I²....
的头像 电子发烧友网工程师 发表于 04-04 14:46 681次 阅读
HiFive1 Rev B与HiFive1的区别

RT-Thread社区上有哪些优秀的软件包?

SX12XX 软件包是基于 semtech 官网 Firmware Drivers V2.1.0代码....
的头像 RTThread物联网操作系统 发表于 04-03 15:35 563次 阅读
RT-Thread社区上有哪些优秀的软件包?

嵌入式系统的教程资料合集免费下载

本文档的主要内容详细介绍的是嵌入式系统的教程资料合集免费下载包括了:GCC中文手册,Linux系统命....
发表于 04-01 08:00 85次 阅读
嵌入式系统的教程资料合集免费下载

易见天树CEO邵凌:带来了题为《区块链和可溯源的供应链金融》的演讲

区块链在供应链领域的应用主要分为两个部分, 可溯源的供应链金融与可信的智能物流仓储物流,核心是基于区....
的头像 电子发烧友网工程师 发表于 03-28 14:13 881次 阅读
易见天树CEO邵凌:带来了题为《区块链和可溯源的供应链金融》的演讲

RISC-V: 国内芯片开源指令集架构的希望之翼

正当国内“芯片热”达到鼎盛,RISC-V 象征自主、可控、创新的形象俨然成为中国芯的“新机遇”,对比....
的头像 电子发烧友网工程师 发表于 03-27 08:45 918次 阅读
 RISC-V: 国内芯片开源指令集架构的希望之翼

嵌入式系统优点

专用性很强:嵌入式操作系统的优势在于个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进....
的头像 发烧友学院 发表于 03-26 15:24 673次 阅读
嵌入式系统优点

嵌入式系统学什么

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。以计算机技术为基础,软硬件可裁剪,适应应用....
的头像 发烧友学院 发表于 03-26 15:21 1063次 阅读
嵌入式系统学什么

嵌入式系统是什么

嵌入式系统是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电气工程师协会的....
的头像 发烧友学院 发表于 03-26 15:18 701次 阅读
嵌入式系统是什么

嵌入式系统结构框图

嵌入式系统一般由软件和硬件两个部分组成,基中嵌入式处理器、存储器和外部设备构成整个系统的硬件基础。嵌....
的头像 发烧友学院 发表于 03-26 15:14 1186次 阅读
嵌入式系统结构框图