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

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

收藏 人收藏
分享:

评论

相关推荐

嵌入式系统入门教程之嵌入式LINUX开发入门课件免费下载

本文适用于对嵌入式系统没有概念和经验,渴望进入嵌入式系统开发的领域,但又觉得系统太复杂,要学的东西太....
发表于 01-15 16:12 18次 阅读
嵌入式系统入门教程之嵌入式LINUX开发入门课件免费下载

MCU选择中的5个固件标准

在微控制器上运行的固件比物理电气连接和引脚更重要。在决策过程中未能识别固件可能导致成本超支,产品发布延迟,甚至项目完全失...
发表于 01-14 11:40 115次 阅读
MCU选择中的5个固件标准

嵌入式实时操作系统Percepio新版本有什么改动

Percepio赶在寒假之前发布了Tracealyzer 4.2.9,新版本有了一些改进,并对发现的....
的头像 嵌入式资讯精选 发表于 01-13 10:22 335次 阅读
嵌入式实时操作系统Percepio新版本有什么改动

高云半导体与荷兰Intrinsic ID展开合作,提供基于高云FPGA的BroadKey物联网安全方案

 BroadKey技术可为可编程FPGA芯片提供不可更改、不可克隆的器件识别解决方案,包括ARM和R....
的头像 人间烟火123 发表于 01-07 11:56 1880次 阅读
高云半导体与荷兰Intrinsic ID展开合作,提供基于高云FPGA的BroadKey物联网安全方案

中国建立自主可控技术体系的一个机遇

不久前,MIPS公司宣布开源,MIPS指令集向全球客户免费授权。MIPS此举意味着,从此之后,全球任....
的头像 科工力量 发表于 01-06 10:51 320次 阅读
中国建立自主可控技术体系的一个机遇

串行端口完成COM端口和USB虚拟及嵌入式系统端口的应用第二版应用指南

当通用串行总线(USB)在20世纪90年代末开始使用时,许多人预测串行端口很快就会过时。许多以前使用....
发表于 01-04 15:34 59次 阅读
串行端口完成COM端口和USB虚拟及嵌入式系统端口的应用第二版应用指南

在嵌入式系统中使用Linux操作系统有以下优势

计算机用于嵌入式控制设备领域的历史和计算机本身的历史一样久远。最初的用于控制机电式电话交换器的通讯设....
发表于 01-04 15:05 155次 阅读
在嵌入式系统中使用Linux操作系统有以下优势

基于Nios II嵌入式系统的FPGA配置文件下载更新设计

现场可编程门阵列(FPGA,Field Programmable Gate Array)是一种高密度....
发表于 01-04 14:15 105次 阅读
基于Nios II嵌入式系统的FPGA配置文件下载更新设计

嵌入式系统中内存该如何分配 本文告诉你答案

究竟应用使用静态分配还是动态分配,一直是嵌入式系统设计中一个争论不休的总是。当然,最合适的答案是对于....
发表于 01-03 15:28 111次 阅读
嵌入式系统中内存该如何分配 本文告诉你答案

嵌入式系统是嵌入式软件和集成电路发展的根本

嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定....
发表于 01-02 15:06 466次 阅读
嵌入式系统是嵌入式软件和集成电路发展的根本

基于ARM处理器的汽车尾气遥测仪

一种以ARM处理器为核心的汽车尾气遥测仪的设计。对该遥测仪的工作原理、系统设计与嵌入式软硬件实现作了....
发表于 01-01 13:08 131次 阅读
基于ARM处理器的汽车尾气遥测仪

嵌入式大牛的10年Bug调试经验分享

作者十年来做过小的嵌入式系统,大的电信系统以及基于web的系统。使用过C ++,Ruby,Java和....
的头像 嵌入式资讯精选 发表于 01-01 09:03 367次 阅读
嵌入式大牛的10年Bug调试经验分享

基于IAP的嵌入式系统升级方案

本文描述了基于IAP和网口升级该嵌入式系统的方法,其中处理器为NXP公司的ARM Cortex-M3....
的头像 人间烟火123 发表于 01-01 08:40 569次 阅读
基于IAP的嵌入式系统升级方案

嵌入式系统测试的三道复习题资料概述

一请论述复杂的嵌入式软件系统架构模型的组成,以及这种模型的优点。 二请论述常见的特殊目的寄存器的作....
的头像 嵌入式ARM 发表于 12-31 11:47 434次 阅读
嵌入式系统测试的三道复习题资料概述

采用低成本的安全处理器保护自动化设计

以智能家居网关为例,它连接和管理着多个设备,比如远程恒温器控制、家庭监控和照明系统等。想象智能家居中....
的头像 贸泽电子设计圈 发表于 12-31 11:46 419次 阅读
采用低成本的安全处理器保护自动化设计

关于嵌入式系统可视化集成开发平台的详细剖析

嵌入系统开发已经趋于规范化,但是嵌入式系统的开发并不像在普通PC机上进行软件开发那样容易,它同样需要....
发表于 12-29 15:22 396次 阅读
关于嵌入式系统可视化集成开发平台的详细剖析

由于经济下滑损及开发预算减少 嵌入式系统设计者正转向FPGA技术

由于经济下滑损及开发预算减少,嵌入系统设计者正在转向FPGA(现场可编程门阵列)技术,以缩减开发周期....
发表于 12-27 14:54 824次 阅读
由于经济下滑损及开发预算减少 嵌入式系统设计者正转向FPGA技术

在嵌入式系统上的MiniGUI应用开发过程详解

为目标嵌入式产品选择适合的嵌入式图形支持系统成为与选择嵌入式操作系统一样颇具挑战性。本土公司开发的M....
发表于 12-26 15:59 602次 阅读
在嵌入式系统上的MiniGUI应用开发过程详解

Python on ZYNQ让大一学生也能轻松搭建高性能嵌入式系统

PYNQ-Z2最重要的特点是可以使用Python进行编程,并且提供了基于Web访问的Jupyter ....
的头像 FPGA开发圈 发表于 12-24 13:50 672次 阅读
Python on ZYNQ让大一学生也能轻松搭建高性能嵌入式系统

如何来学习嵌入式系统 嵌入式系统应该了解的知识点

定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严....
发表于 12-24 10:27 332次 阅读
如何来学习嵌入式系统 嵌入式系统应该了解的知识点

嵌入式系统编程软件架构的C语言模块化程序设计的概念

模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的....
的头像 玩转单片机 发表于 12-23 11:56 788次 阅读
嵌入式系统编程软件架构的C语言模块化程序设计的概念

Western Digital发表基于RISC-V架构开发的三项开源技术

Western Digital Corp.(NASDAQ:WDC)在RISC-V Summit大会上....
的头像 人间烟火123 发表于 12-23 10:04 1111次 阅读
Western Digital发表基于RISC-V架构开发的三项开源技术

工程师必备书籍《算法电路的合成:FPGA,ASIC和嵌入式系统》

在《算法电路的合成:FPGA,ASIC和嵌入式系统》中,作者采用了一种新颖的方法来呈现用于合成算法电路的方法和示例,以更...
发表于 12-20 16:14 376次 阅读
工程师必备书籍《算法电路的合成:FPGA,ASIC和嵌入式系统》

基于sopc嵌入式文字识别系统设计

设计了一种基于SoPC的嵌入式文字识别系统。在FPGA平台下,基于SoPC框架搭建软硬件协同系统,设....
发表于 12-19 11:43 238次 阅读
基于sopc嵌入式文字识别系统设计

如何把握集成电路的技术演进路线

首届全球IC企业家大会于12月11日,在上海开幕。当今世界,集成电路产业发展进入后摩尔时代。
的头像 传感器技术 发表于 12-18 15:53 911次 阅读
如何把握集成电路的技术演进路线

NAND FLASH驱动程序实现的三个具体方面分析

随着U盘、数码相机、mp3音乐播放器等移动设备的广泛应用,FLASH存储器已经逐步取代其它半导体存储....
发表于 12-18 15:50 597次 阅读
NAND FLASH驱动程序实现的三个具体方面分析

如何使用采用SPI Flash存储中文字符库的方法说明

在嵌入式系统中,有时候需要中文字符来表示我们的某些信息,但是中文字符库本身占据空间比较大,因此有时候....
的头像 单片机爱好者 发表于 12-15 10:59 615次 阅读
如何使用采用SPI Flash存储中文字符库的方法说明

学习嵌入式系统的10点建议

目前,国内似乎在进行一个全民学习嵌入式的运动,但据了解,很多人在整个学习的过程中,由于某些技术领域的空白或者是技术尚未成熟,...
发表于 12-14 09:50 368次 阅读
学习嵌入式系统的10点建议

嵌入式系统开发实例总结

选自:华清远见 在这个技术横飞的时代,嵌入式成为IT行业最热门的技术之一,据统计,已有20%的人已跻身于嵌入式行业,而且每...
发表于 12-12 11:40 232次 阅读
嵌入式系统开发实例总结

嵌入式系统教程之嵌入式系统设计与实例开发电子教材免费下载

《嵌入式系统设计与实例开发》主要以ARM9嵌入式微处理器与UC/OS-II实时操作系统作为教学对象,....
发表于 12-10 08:00 152次 阅读
嵌入式系统教程之嵌入式系统设计与实例开发电子教材免费下载

嵌入式系统的十大应用领域浅析

随着工业4.0、医疗电子、智能家居、物流管理和电力控制等快速的发展和推进,嵌入式系统利用自身的技术特....
发表于 12-09 10:09 649次 阅读
嵌入式系统的十大应用领域浅析

嵌入式系统教程之嵌入式硬件系统设计与应用实例资料免费下载

本书重点介绍了嵌入式应用系统硬件的设计与开发,主要内容包括嵌入式应用系统硬件设计与开发的基础知识、各....
发表于 12-07 08:00 175次 阅读
嵌入式系统教程之嵌入式硬件系统设计与应用实例资料免费下载

嵌入式教程之嵌入式系统基础的详细资料说明

本文档的主要内容详细介绍的是嵌入式教程之嵌入式系统基础的详细资料说明主要内容包括了:1.式系统概述,....
发表于 12-06 17:31 260次 阅读
嵌入式教程之嵌入式系统基础的详细资料说明

关于嵌入式系统中通讯协议设计的规律浅析

谈及协议,很多工程师觉得协议的设计相对简单,主要是报文的设计。大多数时候,协议的应用场景简单,没有复....
发表于 12-06 16:33 266次 阅读
关于嵌入式系统中通讯协议设计的规律浅析

机器人技术和机器学习正成为嵌入式系统的下一大趋势

嵌入式系统可以通过网络连接和物联网(IoT)来传递信息、共享资源。无论是智能,低能耗,边缘设备,中间....
发表于 12-05 10:29 269次 阅读
机器人技术和机器学习正成为嵌入式系统的下一大趋势

ARM处理器LPC2210在脑血氧监测仪中的应用

[table] [tr][td]引言 氧是人体新陈代谢的重要物质,脑组织新陈代谢率高,耗氧量占全身总量的20%左右。在心脑血管疾病及脑外伤...
发表于 12-04 10:38 205次 阅读
ARM处理器LPC2210在脑血氧监测仪中的应用

SINA33开发板怎样创建编译环境

首先在Vmware安装好Centos,在此不再重复步骤,大家可以看以前的帖子有详细的步骤。本节主要介绍如何在Centos 搭建编译环境 ...
发表于 12-03 15:18 2983次 阅读
SINA33开发板怎样创建编译环境

【转】嵌入式系统原理及应用教程- -ARM微处理器概述与编程模型

嵌入式系统原理及应用教程- -ARM微处理器概述与编程模型 ...
发表于 12-02 22:26 246次 阅读
【转】嵌入式系统原理及应用教程- -ARM微处理器概述与编程模型

【转】嵌入式系统原理及应用教程- -嵌入式接口技术应用

【嵌入式】嵌入式系统原理及应用教程- -嵌入式接口技术应用 ...
发表于 12-02 22:11 204次 阅读
【转】嵌入式系统原理及应用教程- -嵌入式接口技术应用

安勤科技推出嵌入式系统HPC-BYT 能满足实际操作与应用需求

安勤科技,为Intel物联网解决方案联盟(Intel Internet of Things Solu....
发表于 11-30 16:32 220次 阅读
安勤科技推出嵌入式系统HPC-BYT 能满足实际操作与应用需求

嵌入式系统是IoT产业中的核心处理器

嵌入式系统在IoT产业中的角色物联网在中国的发展速度非常快,它已经成为国家的战略型产业之一。众所周知....
发表于 11-30 16:27 443次 阅读
嵌入式系统是IoT产业中的核心处理器

STM32常用的四种嵌入式操作系统的特点及不足

1μC/OS-II μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务...
发表于 11-29 12:00 493次 阅读
STM32常用的四种嵌入式操作系统的特点及不足

如何进行易于移植的单片机液晶显示多级菜单设计

在单片机嵌入式系统的许多应用场合均采用液晶显示器作为人机交互的方式,然而通常的液晶显示莱单设计较为复....
发表于 11-29 10:46 63次 阅读
如何进行易于移植的单片机液晶显示多级菜单设计

嵌入式系统中的模拟设计(英文原版)(Bonnie Baker)

嵌入式系统中的模拟设计(英文原版) Real Analog Solutions for Digital Designers 附件 957.4 KB957.4 KB957....
发表于 11-28 09:13 118次 阅读
嵌入式系统中的模拟设计(英文原版)(Bonnie Baker)

嵌入式系统开发七大技巧

成为一个正式的开发工程师是一个艰辛的过程。从规范完善的开发周期到严格执行和系统检查,开发高可靠性系统....
的头像 玩转单片机 发表于 11-25 10:24 515次 阅读
嵌入式系统开发七大技巧

RISC-V:AI和IoT的汇流

在此背景下,一个名为“中国RISC-V产业联盟”(CRVIC)的新产业组织于2018年9月正式激活,....
的头像 芯智讯 发表于 11-23 17:18 1443次 阅读
RISC-V:AI和IoT的汇流

高云半导体携带RISC-V FPGA设计易用性方案出席RISC-V论坛

高云半导体FPGA应用研发总监高彤军作了题为“基于RISC-V微处理器的FPGA解决方案”的专题演讲....
的头像 人间烟火123 发表于 11-17 09:30 2726次 阅读
高云半导体携带RISC-V FPGA设计易用性方案出席RISC-V论坛

ARM嵌入式系统教程之ARM嵌入式系统的四个实验介绍

本文档的主要内容详细介绍的是ARM嵌入式系统教程之ARM嵌入式系统的四个实验介绍详细实验包括了:实验....
发表于 11-14 09:24 92次 阅读
ARM嵌入式系统教程之ARM嵌入式系统的四个实验介绍

TRINAMIC推出全球首款集成RISC-V 内核的片载电机驱控芯片系统

物联网与传感器有着密不可分的联系。但是如何未能对获取的大量数据采取行动它将毫无意义。连接门锁、阀门和....
发表于 11-13 11:17 863次 阅读
TRINAMIC推出全球首款集成RISC-V 内核的片载电机驱控芯片系统

TRINAMIC推出全球首款嵌入式RISC-V内核的单片电机驱动电路

物联网与传感器有着密不可分的联系。但是如何未能对获取的大量数据采取行动它将毫无意义。连接门锁、阀门和....
的头像 人间烟火123 发表于 11-12 09:53 2688次 阅读
TRINAMIC推出全球首款嵌入式RISC-V内核的单片电机驱动电路

方之熙博士任命RISC-V基金会主席,热切关注加速中国RISC-V ISA应用

方之熙博士将与当地利益相关方密切合作,并 在中国的RISC-V社区招贤纳士,邀请一些重要人士加入委员....
的头像 人间烟火123 发表于 11-08 11:39 3004次 阅读
方之熙博士任命RISC-V基金会主席,热切关注加速中国RISC-V ISA应用

基于RISC-V指令集的软核CPU在SWORD4.0上顺利移植

用户通过对Arduino IDE简单升级,可以使Arduino IDE支持SWORD4.0的RISC....
的头像 电子发烧友网工程师 发表于 11-07 11:13 698次 阅读
基于RISC-V指令集的软核CPU在SWORD4.0上顺利移植

UltraSoC 和 ResilTech 携手以进一步提高汽车系统功能安全性

UltraSoC和ResilTech日前宣布了一项合作计划,双方将结合其专业知识和技术来进一步提高汽....
发表于 11-07 10:28 449次 阅读
UltraSoC 和 ResilTech 携手以进一步提高汽车系统功能安全性

如何使用FPGA进行两路视频同步播放系统的设计

为了实现基于嵌入式系统的两路视频的同步播放控制,本文提出了根据图像内容检测达到两路视频同步播放控制的....
发表于 11-06 19:35 83次 阅读
如何使用FPGA进行两路视频同步播放系统的设计

Python在实时嵌入式系统中扮演的角色

而下面是来自 gooroo.io的数据,根据每条招聘启事给出的薪酬范围取了平均数:懂 Ruby,C+....
的头像 玩转单片机 发表于 11-05 11:08 1198次 阅读
Python在实时嵌入式系统中扮演的角色

如何使用嵌入式系统进行USB接口的蓝牙模块的软硬件设计和实现概述

蓝牙作为一种新兴的短程无线数据与语音通信技术,具有使用方便、可靠性高、低成本、低功耗的特性,非常适合....
发表于 11-02 11:21 84次 阅读
如何使用嵌入式系统进行USB接口的蓝牙模块的软硬件设计和实现概述

嵌入式系统教程之嵌入式系统开发圣经电子教材免费下载

嵌入式系统(EmbeddedSystem)在于结合微处理器或微控制器的系统电路与其专属的软件, 来达....
发表于 11-01 11:46 81次 阅读
嵌入式系统教程之嵌入式系统开发圣经电子教材免费下载

以嵌入式系统作为移动终端的软件平台浅析

实时操作系统()是嵌入式应用软件的基础和开发平台,应用程序都是建立在它之上。实时嵌入式操作系统的种类....
发表于 10-31 17:36 202次 阅读
以嵌入式系统作为移动终端的软件平台浅析

物联网主要聚焦的七大领域分析

作为信息化时代的重要发展阶段,物联网以互联网为基础,实现物与物之间的信息传输。发展需要的三项关键技术....
发表于 10-31 15:11 893次 阅读
物联网主要聚焦的七大领域分析

深入了解嵌入式系统,是嵌入式系统设计开发的精髓

由于各种新型微处理器的出现和应用的不断深化,嵌入式系统在后PC时代得到了空前的发展。随着时间的推移和....
发表于 10-30 17:49 398次 阅读
深入了解嵌入式系统,是嵌入式系统设计开发的精髓