1 Cache的原理
Cache即高速缓存,它的出现基于两种因素:一、CPU的速度和性能提高很快,而主存速度较低且价格高;二、程序执行的局部性特点。将速度较快而容量有限的SRAM构成Cache,可以尽可能发挥CPU的高速度。CPU与外设交换数据时经常用到buffer(缓冲),这与缓存极其相似,只不过Cache是为了提高CPU和内存之间的数据交换速度而设计,而buffer是为了提高内存和硬盘(或其他I/O设备)之间的数据交换速度而设计的。
Baidu快照(cache.baidu.com)就是一个缓存的例子,其作用与计算机CPU缓存有类似之处。 Cache的原理如图1所示。 
在读取内存数据的同时CPU将数据保存到Cache数据区,同时更新Cache映射表(保存地址信息,表示该地址的数据是否已在Cache数据区,即是否命中)。这样,CPU再次读取该地址数据时,就可以直接从Cache提取。读Cache的时间远小于直接读内存,可提高CPU读取数据的效率。
Cache数据区有成块读取的特性(Cache映射表保存的地址是块地址,节省空间,也符合程序执行的局部性特点)。Cache数据区远远小于内存空间,就需要相应的替代算法。比如最近最少使用算法,可将新数据替代使用频率低的数据,同时更新映射表信息。可以推想,Cache空间越大,命中率越高。
写内存需要直接更新内存。如果映射表存在该地址信息,还需要同时更新Cache数据区。这种Cache访问方式就称作“直写”,Samsung公司的ARM7微处理器S3CA510B就是这种方式。以下所讨论的Cache问题除非特殊说明,否则都是“直写”方式。
2 嵌入式编程时需注意的问题
2.1 访问外设使用Cache的问题
在访问内存时使用Cache是不会出现问题的,但如果访问数据易变外设(数据不依赖于CPU写操作而改变)时使用Cache就可能出现问题。问题在于外设数据的改变不仅仅依靠CPU写操作,CPU第一次读取外设数据时将外设的数据和地址信息保存到Cache,第二次读取外设数据时就可能有问题出现。这是因为数据直接从Cache提取,而外设的数据可能有改变。
因此,在访问易变外设时要禁止使能Cache,直接读取外设数据到CPU,而不经过Cache的任何环节,即保证不改变Cache映射表和Cache数据区内容。
S3C4510B的SYSCFG SFR(特殊功能寄存器)有用来控制Cache使能或不使能的,通过对该SFR的设置可暂时禁止Cache或重新恢复Cache功能。这样就可以在读取外设前禁止Cache,读取结束后重新使能Cache,保证了外设数据读取的正确性。写数据到外设时采用“直写”方式,更没有问题。
2.2 开关Cache引发的新问题
在Cache开关期间,如果有另一个进程/任务访问内存,在此期间写内存并且该内存在Cache中已有映射(注意,它也是被禁止Cache的,所以它不会同时更新Cache数据区的内容),那么在Cache重新使能之后Cache数据区的信息已经过时了,而Cache映射表还是Cache禁止之前的状态,如果CPU此时读数据就会得到过时的数据。这样看来,引发的问题范围更广了,连内存的数据读写正确性都无法保证。与内存泄漏的影响来比较,内存泄漏如果是一颗定时炸弹,那么Cache问题就可以说是随时随地都可能踩上的雷区,因为程序一旦开始就可能引发爆炸。
如图2所示,Cache使能时Cache映射表和Cache数据区保存了内存的数据信息,这是CPU访问内存时通过图中实线箭头通路实现的。内存的信息可以与Cache的信息保持一致。
Cache禁止时的情况有所变化。由图2中虚线箭头通路直接进行内存访问,且地址0x00处的数据由55变为AA,但Cache区的信息仍为之前的状态。很明显,Cache的数据是应该废弃的,但是Cache映射表仍保存0x00的地址信息。Cache重新使能后,CPU再次读取0x00地址的数据,由于Cache仍是命中,直接从Cache数据区中提取数据,这样读出来的数据就是0x55了。
由S3C4510B数据手册第4节的第21页可知:通过对SYSCFG寄存器的CE位置1或清0可使能/关闭Cache,但是Cache没有内容自动刷新功能,在重新使能Cache时需考虑Cache数据的正确性。
为了证实以上说法,循环执行如下测试程序:
如果没有Cache的影响,结果应该是55 aa aa。可见,Cache关闭再打开的确可造成Cache数据过时。
3 其他CPU解决方案
Atmel公司的AT91RM9200和Samsung公司的S3C44B0,用这两种CPU先后移植过操作系统,且在对外设访问的整个过程中Cache都是使能的。它们的解决方案是什么呢?
AT91RM9200是ARM9系列带有MMU的CPU。MMU对内存有分页管理功能,可以实现多个进程的内存空间保护。Cache是通过MMU管理的,这也是Cache和MMU经常同时存在的原因。
S3C44B0和S3C4510B同样都是Samsung公司产品,并且都不带MMU。与S3CA510不同的是,S3C4480自带的SFR可以配置非缓存范围,即使Cache使能,所设置范围的地址空间访问也不通过Cache实现。这样,可以很方便地实现内存是缓存区,其他外设是非缓存区。
这两种方案对于S3C4510B都无法实现。网络上有人用volatile关键字解决外设访问问题。volatile关键字是在源代码中给编译器看的,它可能影响编译器的编译结果,但是最终CPU执行都体现到汇编语句,如果汇编语句都不能解决Cache问题,volatile语句也是不可能解决的。
对于易变数据的外设使用volatile关键字是应该的,可避免编译器的优化,比如以下语句: 
在两次读取portAdd地址的数据相同时等待,可以用到等待信号跳变的程序。如果将volatile关键字去除,有可能经编译器优化,Value2不会从实际的portAdd地址读取数据,而是利用Valuel读取语句的中间寄存器直接获得。
4 本文解决方案
由S3C4510B手册上第5节的第4页可知,可以通过两种方式保证Cache数据的正确:
①对Cache映射表的Tag RAM数据清零。Cache映射表数据一般是通过上电复位清零的,如果Cache或内存段的设置被修改,则会造成Cache映射表数据废弃,这时就需要通过程序对Cache映射表数据清0。
②S3C4510B提供非Cache方式访问控制位,控制位ADDR[26](地址线26位)为“1”时,按非Cache方式访问。因此,Cache使能的情况下,地址0x000 0000~0x3FFFFFF按Cache方式访问,而0x400 0000~0x7FF FFFF按非Cache方式访问。实际上,0x000 0000+offset与0x400 0000+offset(offset在0x000 0000~0X3FF FFFF之间)是同一地址,不同的是Cache是否起作用。
可以得到两种解决方案:
(1)Cache映射表手动更新 既然在开关Cache之后内容过时,并且CPU不会自动刷新,可以通过手动更新的办法来抛弃废旧信息。也就是说,将Tag RAM区(前面所说的Cache映射表)清除,这样所有Cache数据区的内容都不使能,再次读取数据时同时更新Cache映射表和Cache数据区内容,之后才能使用。清除操作将Tag RAM的1 KB内容清零,需要消耗一定时间;并且这样操作后Cache是0命中率的,只有一定访问次数后Cache信息重新填满,才能恢复正常的命中率。因此,频繁地开关Cache时采用这种方案是不可取的。
(2)bit26位控制Cache使能
S3C4510B的地址线为26位(bit0~bit25),实际上CPU可访问空间为32位(bit0~bit31)。一般我们都不使用bit26~bit31,不过S3C4510B的这些位有着特殊的控制功能。通过bit26的高电平可以禁止该地址的Cache功能,因此将外设的地址由原来的ADDR_PORT改为(ADDR PORT∣(1<<26)),就可以实现外设访问时Cache不使能。这样就不用改为SYSCFG的Cache使能控制位。比较来看,SYSCFG的Cache使能位是控制整个CPU访问的Cache使能与否,而bit26只控制当前访问的一个具体地址的Cache使能与否。采用这种解决方案理论上有依据,并且可以最大程度发挥CPU的功能。
5 修改程序后的试验结果
修改Cache解决方案后,可以解决内存访问错误的问题。经过测试,采用“bit26位控制Cache使能”的方案可以顺利访问外设,代码执行始终是在Cache使能的情况下,并且不影响内存数据。若完全关闭Cache的程序,执行同样代码需要花费5~8倍的时间。
嵌入式编程需注意的Cache机制及其原理
- 嵌入式(330854)
- 编程(96940)
- CAC(8667)
相关推荐
热点推荐
嵌入式编程项目需要的注意事项
能从PC机器编程去看嵌入式问题,那是第一步;学会用嵌入式编程思想,那是第二步;用PC的思想和嵌入式的思想结合在一起,应用于实际的项目,那是第三步。
2022-12-23 10:40:31
964
964嵌入式C编程常用的异常错误处理
嵌入式C编程中,异常错误处理是确保系统稳定性和可靠性的重要部分。以下是一些常见的异常错误处理方法及其详细说明和示例:
1. 断言 (Assertions)
断言用于在开发阶段捕获程序中的逻辑错误
2024-08-06 14:32:05
嵌入式C程序开发需注意什么
今天看到一篇很优质的博客,转发并推荐下:编写优质嵌入式C程序:http://blog.csdn.net/zhzht19861011/article/details/45508029
2021-12-15 08:00:19
嵌入式处理器中Cache一致性问题怎么解决?
随着嵌入式计算机应用的发展,嵌入式CPU的主频不断提高,这就造成了慢速系统存储器不能匹配高速CPU处理能力的情况。为了解决这个问题,许多高性能的嵌入式处理器内部集成了高速缓存Cache。其中,三星公司的S3C44B0X内部就集成了8KB空间统一的指令和数据Cache。
2019-09-05 07:00:20
嵌入式实时操作系统如何简化应用软件的设计
在嵌入式领域中,嵌入式实时操作系统(RTOS)正得到越来越广泛的应用。采用嵌入式实时操作系统可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。内存资源作为嵌入式系统中极为重要的资源之一,其管理机制历来是嵌入式系统设计的重点和难点。
2020-11-25 06:48:44
嵌入式开发:你是如何理解嵌入式c编程的
本期的嵌入式开发学习将和大家讨论什么是嵌入式c编程,你是如何理解嵌入式c编程的。在上个篇章我们有简单介绍了什么是嵌入式系统的官方定义以及其发展的阶段?如对嵌入式开发感兴趣的童鞋不妨接着往下看。 一
2017-07-25 10:25:17
嵌入式系统是什么意思
在我们的日常生活中,我们经常使用许多使用嵌入式系统技术设计的电气和电子电路和套件。计算机,手机,平板,笔记本电脑,数字电子系统以及其他电子和电子设备都是使用嵌入式系统设计的。什么是嵌入式系统?将硬件
2021-10-28 08:58:02
嵌入式系统的组成及其特点
嵌入式系统的组成嵌入式系统的特点嵌入式系统分层组成硬件软件嵌入式系统的发展单芯片为核心,可编程控制器阶段以嵌入式 CPU 为基础、简单操作系统为核心以嵌入式操作系统为标志以物联网为标志嵌入式系统
2021-10-27 09:30:15
嵌入式系统设计
在我们的日常生活中,我们经常使用许多使用嵌入式系统技术设计的电气和电子电路和套件。计算机,手机,平板,笔记本电脑,数字电子系统以及其他电子和电子设备都是使用嵌入式系统设计的。什么是嵌入式系统?将硬件
2021-10-27 06:50:19
嵌入式软件编程中const、static、extern和volatile的原理是什么?怎么使用?
嵌入式软件编程中const、static、extern和volatile的原理是什么?怎么使用?
2021-04-28 06:21:42
什么是嵌入式编程
《C嵌入式编程设计模式》第一章 什么是嵌入式编程嵌入式系统的基本知识面向对象编程与结构化编程使用C语言实现类、继承、状态机 第二章 嵌入式实时过程Harmony的嵌入式编程嵌入式应用开发中的敏捷过程
2021-11-08 06:15:53
什么是嵌入式系统?
在我们的日常生活中,我们经常使用许多使用嵌入式系统技术设计的电气和电子电路和套件。计算机,手机,平板,笔记本电脑,数字电子系统以及其他电子和电子设备都是使用嵌入式系统设计的。什么是嵌入式系统?将硬件
2021-12-22 06:11:56
你是如何理解嵌入式C编程
期的嵌入式开发学习将和大家讨论什么是嵌入式c编程,你是如何理解嵌入式c编程的。在上个篇章我们有简单介绍了什么是嵌入式系统的官方定义以及其发展的阶段?如对嵌入式开发感兴趣的童鞋不妨接着往下看。 一
2017-03-22 10:58:58
你是如何理解嵌入式C编程的
什么是嵌入式系统的官方定义以及其发展的阶段?如对嵌入式开发感兴趣的童鞋不妨接着往下看。 一、新手常常问的一个问题是c语言和嵌入式c编程有什么区别?而嵌入式工程师一般都会告诉你其区别在于嵌入式的C语言是跑在嵌入式
2017-03-07 21:15:35
你是如何理解嵌入式c编程的
嵌入式开发:你是如何理解嵌入式c编程的本期的嵌入式开发学习将和大家讨论什么是嵌入式c编程,你是如何理解嵌入式c编程的。在上个篇章我们有简单介绍了什么是嵌入式系统的官方定义以及其发展的阶段?如对
2017-05-05 15:11:30
关于嵌入式系统高级编程语言的基本知识点都在这里
什么是嵌入式系统高级编程语言?嵌入式系统高级语言编程特点有哪些?常用嵌入式系统高级编程语言基本性能有哪些?Java的特点是什么?它与嵌入式系统有什么关系?
2021-04-27 07:06:58
如何提升嵌入式编程能力?
如何提升嵌入式编程能力? 要提升嵌入式编程的能力,可以从以下几点学习: 1. 理解硬件:熟悉你正在编程的硬件平台,包括微控制器、处理器、内存、输入/输出设备等基础理论与应用。 2. 学习基本原理
2024-06-21 10:01:44
如何设计带Cache的嵌入式CPU?
随着集成电路设计和工艺技术的发展,嵌入式系统已经在PDA、机顶盒、手机等信息终端中被广泛应用。嵌入式系统具有电路尺寸小、成本低廉、可靠性高、功耗低等优点,是未来集成电路发展的方向。而作为嵌入式系统
2019-11-05 07:26:21
工业嵌入式计算平台开发招聘
经验2、熟悉ARM等微处理器架构,掌握嵌入式操作系统的移植、裁剪、驱动开发和应用开发3、精通C/C++编程,熟悉Linux内核架构和驱动开发。4、具有基于ARM ***可信应用开发经验,熟悉ARMv8
2021-10-12 09:32:52
请问如何成为嵌入式高手?
插槽机制4、 QT图形界面编程技术5、QT应用程序与Linux驱动的衔接6、 QT在实际项目中具体应用第十部分:无线通讯应用1、无线wifi模块应用2、3G模块应用第十一分布:嵌入式系统应用程序
2020-08-30 11:28:25
嵌入式系统上消息机制的实现
图形用户界面是嵌入式系统中重要部分,是用户与系统进行交互的枢纽,如何建立一个有效的消息机制,实现消息从用户到系统的传递,以及系统对消息的处理如何再反映到图形
2009-06-16 08:52:22
16
16嵌入式CPU指令Cache的设计与实现
针对嵌入式CPU 指令处理速度与存储器指令存取速度不匹配问题,本文基于FPGA 设计并实现了可以有效解决这一问题的指令Cache。根据嵌入式五级流水线CPU 特性,所设计指令Cache 的地
2009-08-05 14:27:54
36
36汽车电子的嵌入式软件编程接口库设计
汽车电子的嵌入式软件编程接口库设计
本文介绍了一种支持汽车电子的嵌入式软件平台编程接口库的内容和设计方法。该接口库提供了以汽车电子 领域
2010-02-09 11:46:04
43
43cc++嵌入式系统编程.rar
cc++嵌入式系统编程
操作系统恐惧症(osophobia)[名] 嵌入式系统开发人员普遍存在的恐惧症嵌入式编程的大多数问题都可以因为操作系统的引人而获益,这
2010-03-04 16:40:40
63
63嵌入式系统编程教学分析
通过volatile关键字的使用、嵌入式系统工程设置、嵌入式系统的数据结构设计、嵌入式系统算法设计四个方面的介绍,分析了嵌入式系统编程本身特有的属性和方法.通过嵌入式系统和
2010-07-01 17:07:36
26
26嵌入式系统自更新机制的设计与应用
嵌入式系统自更新机制的设计与应用
随着嵌入式系统的发展和广泛应用,必不可少的维护工作变得日益繁重。如移动电话在用户使用过程中,部
2009-03-29 15:08:02
1250
1250
StrongARM及其嵌入式应用平台
StrongARM及其嵌入式应用平台
在简要介绍嵌入式CPU SA1110/SA1111的基础上,着重从硬件方面介绍其接口的扩展方法及扩展信号定义,可满足平台设计中对所
2009-06-09 20:38:58
1056
1056
嵌入式c语言编程(由浅入深)
本内容详细介绍了嵌入式c语言编程的各项知识,包括嵌入式c语言编程,嵌入式C语言开发、嵌入式C语言实例设计等,是一本值得用户学习的教材
2011-11-02 14:37:56
0
0嵌入式系统C编程技巧探讨及分享
不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式
2017-10-16 15:11:51
9
9详谈嵌入式编程需注意的Cache机制和原理
1 Cache的原理 Cache即高速缓存,它的出现基于两种因素:一、CPU的速度和性能提高很快,而主存速度较低且价格高;二、程序执行的局部性特点。将速度较快而容量有限的SRAM构成Cache,可以
2017-11-01 16:16:20
0
0嵌入式系统教程之嵌入式硬件系统设计与应用实例资料免费下载
本书重点介绍了嵌入式应用系统硬件的设计与开发,主要内容包括嵌入式应用系统硬件设计与开发的基础知识、各种典型嵌入式处理器及其典型应用、嵌入式应用系统硬件设计原理图及其分析。本书分为三篇共9章:第一章
2018-12-07 08:00:00
57
57嵌入式处理器中cache数据不一致性的解决方法
随着嵌入式计算机应用的发展,嵌入式CPU的主频不断提高,这就造成了慢速系统存储器不能匹配高速CPU处理能力的情况。为了解决这个问题,许多高性能的嵌入式处理器内部集成了高速缓存cache。其中,三星公司的S3C44B0X内部就集成了8 KB空间统一的指令和数据Cache。
2019-03-24 09:07:35
3926
3926
需要了解嵌入式Linux文件系统及其存储机制
嵌入式系统与通用PC机不同,一般没有硬盘这样的存储设备而是使用Flash闪存芯片、小型闪存卡等专为嵌入式系统设计的存储装置,本文分析了嵌入式系统中常用的存储设备及其管理机制,介绍了常用的基于FLASH的文件系统类型。
2019-05-06 16:43:00
1465
1465嵌入式开发通常采用哪种编程语言
目前在嵌入式开发领域比较常见的编程语言是C,另外C++、Python、JavaScript等语言也可以进行嵌入式开发。总的来说,这几门编程语言并不难学。
2019-06-18 16:59:51
16964
16964什么是嵌入式编程
什么是嵌入式编程?对于嵌入式系统,许多人很容易将它与单片机编程混淆。其实,嵌入式编程指的是在我们生活中的房屋、汽车、工作场所中的计算机编程设备,嵌入式系统便是运行于其中。需要指出的是,所有单片机编程
2020-06-29 11:05:00
11725
11725
嵌入式系统裸机编程的内存管理简介
在嵌入式裸机编程中,作为一名初级的CODER。经常要与CPU、内存等打交道。CPU作为系统的动力源,其重要程度不言而喻。 但是,在裸机编程中,对内存的管理也不容忽视。如果稍微不注意,轻则
2020-12-28 09:44:27
3814
3814
嵌入式Interet安全通信机制EISCM的应用探讨
/IP协议栈接入Interner的方案为实现平台,通过选择基于密码学的安全机制,设计并实现嵌入式Internet安全通信机制EISCM。它提供一个相对安全的平台,可以使系统放心地接入Internet。
2021-06-22 14:08:42
2410
2410
嵌入式系统及其应用报告
嵌入式系统及其应用报告(嵌入式开发年龄)-该文档为嵌入式系统及其应用报告总结文档,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看………………
2021-07-30 10:29:42
5
5【嵌入式】基于ARM的嵌入式Linux开发总结
前言嵌入式知识点复习一嵌入式知识点复习二 --体系结构嵌入式知识点复习三 --ARM-LINUX嵌入式开发环境嵌入式知识点复习四 --arm-linux文件编程嵌入式知识点复习五
2021-10-19 18:32:42
28
28解析嵌入式软件开发语言:嵌入式C编程
解析嵌入式软件开发语言:嵌入式C编程在我们初学嵌入式开发的时候,总会出现一个问题。那就是C语言和嵌入式C编程有什么区别?而嵌入式工程师一般都会告诉你,其区别在于嵌入式的C语言是跑在嵌入式的开发板上
2021-10-20 11:51:00
7
7物联网的嵌入式编程
嵌入式编程在使设备满足人们的需求方面具有悠久的历史。但是,它在很大程度上仍然被应用程序编程所掩盖。当应用程序程序员采用相对高级的面向对象的语言(如C ++或Java)或图形化应用程序开发环境(如
2021-10-20 13:06:01
1
1嵌入式系统
在我们的日常生活中,我们经常使用许多使用嵌入式系统技术设计的电气和电子电路和套件。计算机,手机,平板,笔记本电脑,数字电子系统以及其他电子和电子设备都是使用嵌入式系统设计的。1.什么是嵌入式系统?将
2021-10-21 10:51:11
1
1什么是嵌入式系统
在我们的日常生活中,我们经常使用许多使用嵌入式系统技术设计的电气和电子电路和套件。计算机,手机,平板,笔记本电脑,数字电子系统以及其他电子和电子设备都是使用嵌入式系统设计的。什么是嵌入式系统?将硬件
2021-10-21 11:36:13
3
3嵌入式linux报警,嵌入式Linux下LED报警灯驱动设计及编程.doc
嵌入式Linux下LED报警灯驱动设计及编程《嵌入式Linux下LED报警灯驱动设计及编程》实验报告学生姓名:学 号:专业班级:指导教师:完成时间:实验5 嵌入式Linux下LED报警灯驱动
2021-11-01 17:21:43
6
6嵌入式linux编程开发必备知识
。那么学习嵌入式linux编程开发应该要必备什么条件呢?下面西安鸥鹏的小编就给大家讲解下。 linux嵌入式编程开发学习时,你要从这几个方面来下手: 首先就是熟知的C语言了,C语言是必须要学的,不管学习什么,都是要会的,对于C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C.
2021-11-01 17:37:23
7
7嵌入式网络编程+嵌入式Linux系统
嵌入式网络编程+嵌入式Linux系统一、 Linux操作系统安装与使用(命令)二、 Linux开发工具(gcc、gdb、make)三、 Linux系统编程(文件、进程、线程、网路、数据库)Linux
2021-11-02 14:51:15
23
23C嵌入式编程设计模式
C嵌入式编程设计模式1 嵌入式系统有何特殊之处 11 嵌入式设计的约束 12 嵌入式工具 13 OSRTOS还是没有操作系统 14 嵌入式中间件 15 与硬件协同开发 16 调试与测试
2021-11-03 15:36:05
18
18《C嵌入式编程设计模式》读书笔记
《C嵌入式编程设计模式》第一章 什么是嵌入式编程嵌入式系统的基本知识面向对象编程与结构化编程使用C语言实现类、继承、状态机 第二章 嵌入式实时过程Harmony的嵌入式编程嵌入式应用开发中的敏捷过程
2021-11-03 16:06:01
16
16嵌入式C++编程
特点展示如何使用 C ++ 来构建利用可用硬件资源的强大并发系统。从嵌入式编程入门和 C ++ 17 的最新特性开始,带您了解优秀编程的各个方面您将学习如何使用 C ++ 的并发性、内存管理和函数式
2021-11-04 10:36:04
11
11浅谈嵌入式系统裸机编程的内存管理
malloc和free在PC编程中是很好用的一种内存分配手段。但是,其在嵌入式中,就未必好用了。由于嵌入式裸机编程中,无MMU,即内存管理单元。
2022-09-15 10:38:07
1990
1990嵌入式学习路线怎么学?如何学习嵌入式系统?
哪些技术呢? 1.嵌入式上层的软件应用开发 需要:精通嵌入式Linux C语言编程、嵌入式Linux C语言数据结构、嵌入式Linux项目开发流程、嵌入式 Linux并发程序设计、嵌入式 Linux应用编程、嵌入式 Linux网络编程、嵌入式数据库开发;若是
2022-10-30 13:15:39
2307
2307怎么从PC编程转向嵌入式编程
能从PC机器编程去看嵌入式问题,那是第一步; 学会用嵌入式编程思想,那是第二步; 用PC的思想和嵌入式的思想结合在一起,应用于实际的项目,那是第三步。 很多朋友都是从PC编程转向嵌入式编程的。 在
2023-06-22 10:36:00
1392
1392嵌入式可编程片上系统是什么
嵌入式可编程片上系统(Embedded Programmable System-on-Chip,或简称EPSoC)是一种特殊的嵌入式系统,它结合了嵌入式系统的特点和可编程片上系统的灵活性。
2024-03-28 15:33:45
1202
1202
电子发烧友App





评论