SylixOS ARM BSP 第一篇【文件结构】

SylixOS BSP 开发连载 SylixOS 简介: SylixOS是一款嵌入式硬实时操作系统,同其类似的操作系统,全球比较知名的还有VxWorks(主要应用于航空航天、军事与工业自动化领域)、RTEMS(起源于美国国防部导弹与火箭控制实时系统)、ThreadX(主要应用于航空航天与数码通讯)等。 从全球范围上看,SylixOS作为实时操作系统的后来者,在设计思路上借鉴了众多实时操作系统的设计思想,其中就包括RTEMS、Vx 阅读详情

SylixOS 是国人自己开发的开源实时操作系统,该系统符合 IEEE1003 POSIX 操作系统规范,功能强大开发便利,系统主页:www.sylixos.com


此篇博客为 SylixOS ARM BSP 编写连载的第一篇,力求以深入浅出的方法介绍 SylixOS ARM BSP 的编写方法。


SylixOS BSP 分为两大部分:

  1. 基础支持程序

  2. 驱动程序


其中【基础支持程序】主要是实现系统的启动流程与硬件板最基础的功能实现,例如中断控制器管理,TICK 定时器管理,初始内存映射管理等等。【驱动程序】主要是实现操作系统对外部设备的管理。


此篇博客主要介绍 SylixOS BSP 文件的构成。SylixOS BSP 可通过 RealCoder(SylixOS 集成开发环境,可点击这里申请下载)创建,创建出来的 BSP 模板分为三个文件夹:bsp、driver、user。

  1. bsp 文件夹下的文件对应的就是【基础支持程序】;

  2. driver 文件夹下的文件对应的就是【驱动程序】;

  3. user 目录为 t_main 内核线程实现,可以根据项目需要加入自己的代码。


bsp 文件夹下存在至少 5 个源文件,他们分别是:config.h、startup.S、bspInit.c、bspLib.c、bspMap.h。当然 SylixOS 并不严格规定 BSP 必须这样写,只是长期以来形成的习惯。

  1. config.h 文件包含板子的基本配置情况,如果本 bsp 包含对多种板子的支持,则可以在 bsp 目录下再建立一些针对各种板子的文件夹,具体方法可参考TI 335x BSP点击下载。

  2. startup.S 文件是系统的启动入口。

  3. bspInit.c 文件是 bsp 初始化入口,其中初始化函数为 bspInit(),此函数会被 startup.S 文件调用。

  4. bspLib.c 文件是【基础支持程序】主要实现部分,包括中断管理,TICK 初始化等等。

  5. bspMap.h 文件是操作系统内存布局设置与初始映射配置。


driver 文件夹下就是【驱动程序】的实现,内部分为很多子文件夹,每一个文件夹都是指定设备的驱动程序,例如 uart (或者 sio tty 等)是代表串口的驱动程序。这个在以后的博客中将会介绍具体的驱动程序编写方法。


user 目录包含 t_main.c 文件,系统完成所有的初始化后进入多任务模式,其中 t_main 是 BSP 创建的内核任务,SylixOS 既可以像 Linux 一样动态装载用户进程,也可以像其他小型 RTOS 一样直接将用户应用程序和 BSP 一起编译,运行在内核空间,如果选择将应用程序和 BSP 一起编译,t_main 任务可以认为是用户应用程序的入口,不过 SylixOS 还是不推荐这种方法,SylixOS 推荐开发者像使用 Linux 或者 Windows 一样,将指定的应用编译成独立进程,通过 SylixOS 装载器动态装载执行,方便升级与调试。


(此篇完)

转载自:http://hanhui03.blog.51cto.com

SylixOS 无Uboot版BSP 函数栈 物理内存分布 介绍函数栈之前,先介绍SylixOS Lite版本ARM平台的内存分布,根据BSP工程的连接脚本SylixOSBSP.ld可知,SylixOS的物理内存主要分为五段: TEXT段又称代码段,主要存放执行代码,有执行权限; DATA段又称数据段,主要放已经初始化好的全局变量; BSS段主要存放未初始化的全局变量; 栈又称堆栈,可存放函数的局部 阅读详情

相关推荐

SylixOS的BSP开发实例之S3C2416 【第二篇】内存映射与初始布局

在SylixOS的S3C2416的BSP包中有“SylixOS/bsp/bspMap.h”文件,此文件是操作系统内存布局设置与初始映射配置,在文件的开始有内存分配的描述,描述如下图。   其中 MMU 页面标识可以在 SylixOS 的 BASE 工程中 “SylixOS/kernel/vmm/pageTable.h” 中获取到,具体参数描述如下图。 /********

zth_gyj的博客 1317

SylixOS启程之旅

随着SylixOS在各领域的广泛应用,更多的工程师想深入了解SylixOS的产品特性、功能特点、应用场景。翼辉信息针对客户需求与当前疫情特殊情况,首批推出10节网络公开课。通过课程您将全面了解SylixOS的功能与使用方法。这也将为您后续产品选型提供一个优秀产品的选择。

SylixOS shell用户手册_SylixOSshell用户手册_翼辉操作系统_

翼辉操作系统的shell功能,包括相关说明和具体使用。

SylixOS到底是不是真国产?

经过多年的努力,越来越多的客户相信SylixOS是真正的国产操作系统,翼辉也参与了众多国家及重大专项,有力的支持了国内信息工业自主可控发展。

ScilogyHunter的博客 7706

Chromium实用技巧篇-如何下载指定版本的Chromium(一)

通过本指南,您已成功掌握如何在Windows系统上下载并安装最新版本的Chromium浏览器。我们详细介绍了从进入Chromium官网,到查找最新版本号,再到下载和安装的每一个步骤。通过这些步骤,您不仅能够体验到最新的浏览器功能,还可以参与开源项目的开发,享受高速、稳定、安全的浏览体验。

守城小轩的技术窝棚 1万+

(实测可用)STM32L431RCT6开发板-实验1 跑马灯实验

一、开发板平台简介: 1、开发板资源简介 (1)开发板主芯片型号:STM32L431RCT6 (2)开发板主芯片封装:LQFP-64_10x10x05P (3)开发板主芯片内核:ARM® Cortex®-M4 (4)开发板主芯片主频:80MHz (5)开发板主芯片Flash大小:256KB (6)开发板主芯片RAM大小:64KB

zhej2014的博客 3167

SylixOS学习三—— SylixOS的引导与安装1

自学SylixOS启程之旅笔记一、SylixOS 引导过程分析1. SylixOS 常用引导程序2. SylixOS 支持ARM设备的几种引导方式3.SylixOS引导过程分析——总流程分析3.1 一个设备从上电到启动完成的整个流程3.2 引导程序和操作系统镜像的存储3.3 U-Boot引导SylixOS3.4 引导过程中的几个基本概念 《SylixOS启程之旅》是一门公开课,点开下面链接即可观看: SylixOS启程之旅 一、SylixOS 引导过程分析 1. SylixOS 常用引导程序 U-Boo

graceyun的博客 4419

从零开始:用君正T23ZN打造智能门锁双摄系统(含代码示例与调试技巧)

本文详细介绍了基于君正T23ZN视频处理芯片构建智能门锁双摄系统的完整实战方案。内容涵盖硬件选型与核心电路设计、软件开发环境搭建、双摄驱动框架、图像信号处理(ISP)调优、人脸识别算法集成与性能优化,以及系统调试与稳定性保障。文章提供了丰富的代码示例和调试技巧,旨在帮助嵌入式开发者高效实现具备人脸识别与监控功能的低功耗智能门锁视觉系统。

opencv7vision的博客 716

翼辉sylixos国产嵌入式操作系统介绍

SylixOS 的自主研发之路并非一帆风顺。从 2006 年完成最基本的内核,到 2007 年增加 I/O 系统,再到 2008 年引入网络与文件系统和实用工具,以及后续不断丰富的功能和对各种处理器体系结构的支持,SylixOS 一直在不断进化和完善。在当今科技飞速发展的时代,国产嵌入式操作系统领域不断涌现出创新的成果,比如都江堰操作系统(djyos),rt-thread os,sylixos,其中 SylixOS 作为一款由中国人自主开发的大型嵌入式实时操作系统,正以其独特的魅力和卓越的性能崭露头角。

低速无人驾驶自动技术 2702

educoder数字逻辑实训:寄存器设计与应用(Logisim)

第1关:基本寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位基本寄存器,要求上升沿触发,具有异步复位功能。 第2关:移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位右移移位寄存器,要求上升沿触发,具有异步复位功能。 第3关:循环移位寄存器的设计 任务描述 本关任务:在Logisim中,构建由4个D触发器构成的4位循环右移移位寄存器,要求上升沿触发,具有异步复位功能以及并行数据同步加载功能。 第4关:并行..

qq_52209002的博客 1万+

直流耦合系统介绍

参考《SMA如何使用直流耦合技术实现更高效的光伏电站-白皮书》

圆桌骑士的博客 732

SylixOS的来龙去脉

什么是SylixOS SylixOS是一款诞生于2006年、由中国人自己开发的、大型、嵌入式、实时、类UNIX、操作系统。现由翼辉信息有限公司专门推广和开发。 特别强调一下,SylixOS不是Linux的衍生版,也不是照抄了其他操作系统的内核,SylixOS内核完全是国人自主开发的,另外配套移植了一些第三方开源软件(如FAT文件系统,QT图形界面等,其他操作系统的很多中间件也大多是移植第三方开源软件)而组成的操作系统。 之所以强调是自主开发,是因为在SylixOS推广的初期,用户都会有太多误解和疑问。最经典

ScilogyHunter的博客 1万+

手把手教你用GD32F407VET6的EXMC驱动外部SRAM,搞定大内存需求

本文详细介绍了如何使用GD32F407VET6的EXMC外设驱动外部SRAM,解决嵌入式开发中的大内存需求问题。通过硬件连接方案、EXMC时序配置与初始化步骤,以及软件集成与内存管理技巧,帮助开发者快速实现内存扩展。特别适合需要处理图形显示缓冲、音频处理等大内存场景的GD32F407开发者。

weixin_30752699的博客 346

SylixOS ARM BSP 第二篇【startup.S】

此篇博客为 SylixOS ARM BSP 编写连载的第二篇,主要介绍 startup.S 文件具体实现。 startup.S 为 BSP 启动代码入口,通常由 bootloader 装载完 SylixOS 镜像后调用,下面以 S3C2440A 处理器为例,逐块介绍startup.S 代码。 #ifndefASSEMBLY #defineASSEMBLY1 #endif 此段代码告知后面引用的头文件,此文件为汇编程序。 #include<arch/assembler.h> ...

动感超人_Crush 745

EuROC 数据集格式及相关代码

Euroc提供ROS和zip两种数据格式。

~勿据散客~的博客 2093

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SylixOS ARM BSP 文件结构

SylixOS 是国人自己开发的开源实时操作系统,该系统符合 IEEE1003 POSIX 操作系统规范,功能强大开发便利,系统主页:www.sylixos.com 此篇博客为 SylixOS BSP 编写连载的第一篇,力求以深入浅出的方法介绍 SylixOS ARM BSP 的编写方法。 SylixOS BSP 分为两大部分: 基础支持程序

糊涂岁月的专栏 1597

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SylixOS bsp 开发经验总结

SylixOS bsp

li5830的博客 1150

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SylixOS ARM BSP 第三篇【bspInit.c】

此篇博客为 SylixOS ARM BSP 编写连载的第三篇,主要介绍 bspInit.c 文件具体实现。 bspInit.c 为 BSP 操作系统初始化部分代码,通常由 startup.S 初始完基本处理器参数后调用,下面以 S3C2440A 处理器为例,逐块介绍 bspInit.c 代码。 SylixOS ARM BSP 第二篇中提到 startup.S 初始化完成会

sun_junhui的博客 1187

SylixOS BSP开发(八)

所以只好把这一章节提前来讲了。这三个组件的初始化都是在bspInit.c中进行的。接口使能了指令Cache和数据Cache,可以看出Cache的初始化还是比较简单的,因为内核已经为大部分arm架构封装好了Cache等部件的操作,我们只需要调用接口即可。第一个参数表示当前CPU的架构,第二个参数表示当前SOC中FPU使用的类型,这两个参数根据芯片数据手册的信息然后使用内核提供好的宏填入就行了。中映射表的设置,另外一个是内核VMM组件初始化,最后是MMU页表池大小设置,下面我们分别来学习下这两部分的内容。

一步一步往上爬 478
上一篇: SylixOS 经得起检验的国产操作系统 (一)
下一篇: SylixOS ARM BSP 第二篇【startup.S】
sun_junhui
博客等级 码龄11年 46粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值