一、RISC-V GCC工具链种类RISC-V GCC工具链与普通的GCC工具链基本相同,用户可以遵照开源的riscv-gnu-toolchain项目(请在Github中搜索riscv-gnu-toolchain)中的说明自行生成全套的GCC工具链。由于GCC工具链支持各种不同的处理器架构,因此不同处理器架构的GCC工具链会有不同的命名。遵循GCC工具链的命名规则,当前RISC-V GCC工具链有
rtems 5.3 qemu realview_pbx_a9 环境搭建:生成 rtems arm 工具链
原创
精选
2024-09-18 11:13:50
367阅读
很多朋友问我这个问题,也抱怨GNU工具链不如集成开发环境好用。如IAR Workbench、Keil、RVDS等。并不理解,为什么RTEMS死磕GNU的工具链。这里其实有很多原因,有一些是我猜测的,有一些是既定的事实。下面就聊聊这些原因:1. 首先,RTEMS 从上个世纪80年代末开始开发。那时候,还没有这么牛叉的集成开发环境;GNU的工具链应该是当时不二的选择。2. RTEMS作为一个开源免费的
原创
2012-08-16 22:03:00
743阅读
Project Nano-RTEMS for ARMV7M 我的想法如下:1、为 ARMV7M 平台提供一个可靠的RTOS 平台,RTEMS本身就是这么一个可靠的硬实时系统,而Cortex-M3,M4有着越来越强的处理能力,可扩展NAND和SDRAM,非常适合跑这类本身就是比较完善的系统。2、提供一个相对精简的核心,只耗 20KROM 和 10K RAM,取代 ucos 或者freeRT
转载
2024-04-17 10:00:49
74阅读
为什么需要操作系统? 1.计算机是由CPU、内存、磁盘、显卡、声卡等许许多多设备组成的,而且这些设备的厂商众多,品种繁多,而且不同厂商生产的同种设备虽然完成同种功能,但是具体细节却存在千差万别; 2.为了正确地管理和使用这些设备来实现具体的应用,这样程序员就得了解和掌握各种设备的工作原理。而且对于同种设备,由于不同的硬件厂商在实现细节上的差异使得程序员再次陷入了复杂的硬件控
原创
2010-12-18 11:49:00
680阅读
[root@centos7 hello_world_c]# qemu-system-aarch64 -no-reboot -serial null -serial mon:stdio -net none -nographic -M xilinx-zynq-a9 -m 256M -kernel o-o ...
转载
2021-10-12 15:13:00
1096阅读
2评论
[root@centos7 hello_world_c]# aarch64-rtems6-gdb o-optimize/hello.exe GNU gdb (GDB) 10.1.90.20210409-git Copyright (C) 2021 Free Software Foundation, ...
转载
2021-10-13 12:14:00
305阅读
2评论
参考文献:
【1】邱玮,熊谱翔,朱天龙. 嵌入式实时操作系统:RT-Thread设计与实现[M]. 北京:机械工业出版社,2019.RT-thread线程的概念是操作系统中最小的调度单位,线程调度算法是基于优先级的全抢占式多线程调度算法,即在系统中除了中断处理函数、调度器上锁部分的代码和禁止中断的代码不可抢占外,系统的其他部分都可以抢占,包括线程调度器自身。支持256个优先级。rt中并不存在运行状
接触 RTEMS 是 2008 年下半年的事情。当时在设计一些嵌入式系统的解决方案,寻找一个好的中间件,以满足系统多方面的要求。在查阅 ACE 时发现其支持 RTEMS 系统,不了解 rtems 是什么。于是,就用 google 搜索了 RTEMS 这个关键字,发现了新大陆。 最开始是从 www.rtems.net 上学习,发现资料陈旧且疏漏较多;于是就上官方网站 www.rtems.com
原创
2011-05-19 22:49:00
1584阅读
背景对Linux时间系统感兴趣不是一天两天了,今天这篇着重讲一下Linux时间系统中相对简单跟独立的部分——RTC。简述RTC全称为Real Time Clock,是一个专门用来记录时间的硬件设备,一般可以集成在soc内部,或者选择外挂,通过i2c与其通信。那为什么会需要RTC,因为Linux的系统时间(也就是我们常说的wall time)只能在系统运行时使用,系统关机时间就丢了,而R
RTOS有众多种,用得最火的是FreeRTOS,因为它即使用于商业途径,也是开源免费的;其次是就是uCOS-II和uCOS-III。uCOS-II用于商业途径是需要付费的,但是对于学习研究却是免费的。它们同是嵌入式实时操作系统,很多东西都是共通的,熟悉其一,其它都非难题了。常见的RTOS:1:QNX的可靠性很好,协议栈、各种外设驱动稳定,只是运行所需资源有些多,需要MMU。如果需要高可靠性应用,Q
转载
2024-10-04 08:56:38
90阅读
目录本文导读系统掉电保护的重要性和可行性掉电检测保护电路功能框图LM393比较器电路运用MP1542升压电路运用掉电检测保护电路的电源波形和工作过程本文导读可靠性是每一个产品的灵魂,如果一个产品可靠性不好,那它就是一个失败的产品,因为客户不会使用存在风险的产品,然而产品的可靠性不仅受到上下电、复位等内部因素影响,还会被供电的突然关断、工作环境等外部因素干扰。产品的控制系统对突然断电的反应和保护措施
对于联网游戏来讲,同步的方式主要分为两种,状态同步、帧同步。1.帧同步 :RTS(即时战略)游戏常采用的一种同步技术 。状态同步方式数据量会随着需要同步的单位数量增长,对于RTS游戏来讲动不动就是几百个的单位可以被操作,如果每个单位的状态都需要同步的话,数据量是不能被接受的,所以帧同步不同步每个单位的状态,只同步玩家的操作指令,使用帧同步,一个玩家对几百个的单位操作时只同步一条操作指令,操作指令包
在列出DevOps 工具链之前,介绍一下什么是DevOps,虽然DevOps这个概念现在还没有标准的定义,但我们可以追溯一下其过去九年的历史发展过程(从2009年~2017年),列出几个相对明确又有所不同不同的定义,从而能够比较全面了解DevOps的内涵。【2009】 DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和QA部门之间的沟通、协作与整合;【2011】快速响应业务和客户
转载
2024-04-02 11:33:22
58阅读
很久没写过关于RTEMS的文章了。很多朋友最近问我,为什么选择RTEMS,不选择VxWorks,你自己学习就算了,为什么也要拉着别人搞RTEMS。这些问题略微的有一些复杂,我就专门写篇文章来作答。以前,我做商业项目都是使用FreeRTOS和uC/OS-II的, FreeRTOS和uC/OS-II都差不多,核心代码不过几千行。突出的特点是,好掌握,易上手,在较短的时间内就能上手开发。但是同时带来一个
原创
2012-07-14 09:34:00
882阅读
堆的核心操作主要有初始化、申请、释放、扩展。由于工作空间(Workspace),是供内核使用的,所以相关函数使用的全部是“_”前缀。主要操作分列如下: _Heap_Initialize,将指定的内存初始化成堆; _Heap_Allocate,从指定的堆中申请指定字节数的内存; _Heap_Allocate_ali
原创
2011-02-25 22:54:00
466阅读
对于实时操作系统,好的内存分配算法会使系统的稳定性增色不少。实际使用中,如果用户在代码的使用方法和系统内存管理算法相悖,会引起许多问题,甚至使系统变得不可靠。RTEMS提供了堆(Heap)、工作空间(Workspace)、内存区域(Region)和固定尺寸的内存分配算法(Partition)。RTEMS内核使用的内存从工作空间申请,而用户应用程序使用的内存从堆申请。堆与工作空间使用相同的算法管理内
原创
2011-02-25 22:45:00
540阅读
Devops工具链DevOps实际是一种文化上的变迁,代表了开发、运维、测试等环节之间的协作,因此DevOps工具是非常多种多样的,甚至可以由多种工具组成一个完整的DevOps工具链。此类工具可以应用于一种或多种类别,并可体现出软件开发和交付过程的不同阶段:编码:代码开发和审阅,版本控制工具、代码合并工具构建:持续集成工具、构建状态统计工具测试:通过测试和结果确定绩效的工具打包:成品仓库、应用程序
转载
2024-02-28 20:41:42
86阅读
#!/bin/bash ARCH=$(uname -i) BRANCH=4.11 sudo -s cat >/etc/apt/sources.list.d/rtems-ftp.list <<EOF deb http://www.rtems.org/ftp/pub/rtems/linux...
转载
2012-08-09 02:16:00
101阅读
2评论
1 编辑器 goland 2 GOPATH GOPATH是go的一个环境变量,它以绝对路径提供go的工作目录。 go工程的源码存放在${GOPATH}/src目录下,go编译过程中生成的中间文件存放在${GOPATH}/pkg目录下,生成的最终二进制文件存放在${GOPATH}/bin目录下。 2.
转载
2019-07-29 11:19:00
159阅读
2评论