SylixOS 系统
文章平均质量分 54
mr lirongjun
这个作者很懒,什么都没留下…
展开
-
SylixOS 网卡混杂模式和组播模式
网络组播和混杂原创 2024-08-20 15:48:56 · 1058 阅读 · 0 评论 -
SylixOS PCI sata 驱动流程
sylixos sata原创 2023-04-25 16:34:47 · 207 阅读 · 0 评论 -
SylixOS中AHCI驱动框架分析
SATA转载 2023-04-25 12:52:32 · 336 阅读 · 0 评论 -
SylixOS bsp 开发经验总结
SylixOS bsp原创 2023-04-10 19:35:45 · 781 阅读 · 1 评论 -
Sylixos zynq bsp 启动流程分析
Sylixos zynq bsp 汇编启动流程分析原创 2023-03-09 10:06:12 · 412 阅读 · 0 评论 -
SylixOS ECS 启动过程
SylixOS ECS 启动过程转载 2023-03-09 09:57:59 · 148 阅读 · 0 评论 -
SylixOS IDE 代码左竖线对齐设置
IDE使用技巧原创 2023-01-30 11:25:39 · 232 阅读 · 0 评论 -
SylixOS UDP网络应用编程
网络UDP原创 2022-10-19 10:12:13 · 851 阅读 · 0 评论 -
龙芯3A3000 PCI 硬件问题
pci原创 2022-08-25 14:32:06 · 211 阅读 · 0 评论 -
sylixos licesence 问题
IDE原创 2022-08-23 09:58:06 · 195 阅读 · 0 评论 -
sylixos QT 显示 特殊字符 ℃ 方法
sylixos QT 显示 特殊字符 ℃ 方法原创 2022-08-02 10:24:34 · 518 阅读 · 0 评论 -
sylixos 将函数添加到内核符号表中及使用
sylixos 符号表原创 2022-06-07 21:36:31 · 351 阅读 · 0 评论 -
LCD参数解释及计算
转载地址:http://blog.csdn.net/longxiaowu/article/details/24319933Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LCD屏的硬件参数:/* include/linux/fb.h */struct fb_videomode {const char *name; /* optional */u32 refresh; /* optional */u32 xres;u32 yres;u32 pixclock;转载 2022-05-23 10:52:36 · 861 阅读 · 0 评论 -
SYLIXOS 龙芯2K1000 LCD屏参配置(1)
1. LCD 显示原理... 12. FB驱动屏参代码... 33. 添加新屏示类... 5LCD 显示原理LCD(Liquid Crystal Display)是利用液晶分子的物理结构和光学特性进行显示的一种技术。液晶分子具有以下的特性:。液晶分子是介于固体和液体之间的一种棒状结构的大分子物质; 在自然形态下具有光学各向异性的特点,在电(磁)场作用下,呈各向同性的特点。 LCD 的显示原理是利用了液晶的特性,将液晶置于两片导电玻璃基板之间,在上下玻璃基板的两个电...原创 2022-05-23 11:12:08 · 1353 阅读 · 0 评论 -
SYLIXOS 龙芯2K1000 LCD屏参配置(2)
注意事项:操作的时钟寄存器:#define LS2K_PIX0_PLL (0xffffffffbfe104b0)#define LS2K_PIX1_PLL (0xffffffffbfe104c0)/********************************************************......原创 2022-05-23 12:36:31 · 581 阅读 · 0 评论 -
SylixOS,协议栈中函数地址转换
netprp_t *netprp = (netprp_t *)netdev->priv; netprp_eth_t *netprp_eth; LW_LIST_LINE *pline; char *data = NULL; u16_t length = p->len; int ret; struct ethhdr *eh = (struct ethhdr *)p->payload; struct i...原创 2022-04-20 10:25:00 · 149 阅读 · 0 评论 -
SylixOS同步互斥之自旋锁(三)
1.基本作用在前面我们介绍过互斥锁用于共享资源的互斥访问,但是互斥锁有一个缺点就是资源开销比较大。因为获取互斥锁和释放互斥锁过程中都需要进出内核,如果共享资源自身不是很大的话,比如可能就是修改一个变量的值,代码里也就几行,这个时候就可以考虑使用自旋锁来实现互斥访问。自旋锁顾名思义,当锁已经被别人获取的时候,再次去获取锁的人会一直“自旋”,也就是一直在检测锁的状态直到锁被释放。自旋锁一般用在多核的情况下,比如现在有两个线程分别跑在两个核上,然后都要去访问共享资源,如下图所示。cpu核0上运行线程原创 2022-02-10 13:46:49 · 601 阅读 · 0 评论 -
SylixOS同步互斥之二进制信号量(二)
1. 基本作用上一章节我们介绍了互斥锁,用于“共享资源”的互斥访问,在驱动开发中我们有时候需要等待某种资源准备好之后才能继续执行代码,这就需要使用同步机制来实现这个目的。比如某个应用想要读取AD转换数据,但是这时候转换还未完成,那么就有两种基本处理方法:一是轮询某个寄存器直到AD转换完成;二是将当前线程阻塞,等待AD转换完成后在中断处理中唤醒。第一种方法由于一直在轮询寄存器,cpu的占用率比较高,其他线程得不到运行,cpu利用率较低;第二种方法由于线程阻塞住之后系统可以调度其他的线程运行,cpu利用率较原创 2022-02-10 13:26:13 · 459 阅读 · 0 评论 -
SylixOS同步互斥之互斥锁(一)
从本篇开始往后的文章主要介绍下SylixOS常用的编程接口,比如同步互斥接口、动态内存相关类接口、Cache操作接口等等,主要聚焦于驱动开发中经常使用到的内核接口。1. 基本作用互斥锁在SylixOS中也被叫做互斥信号量,它的主要作用就是保护一段“共享资源”避免被同时访问,从而达到互斥的效果。比如在一般的网卡或者SD卡驱动中,硬件模块的数据收发都是通过描述符来进行设置的,当一个线程或者进程在更新或者准备这些描述符数据时,这些描述符是不可以再被别的线程来访问的,不然的话你前面一个线程设置好的描述符还没原创 2022-02-10 11:58:16 · 613 阅读 · 0 评论 -
SylixOS 同步互斥之原子操作(四)
1. 基本作用在各类操作系统提供的接口中,除了我们之前学习的互斥锁和信号量类接口用于实现互斥或者同步的目的外,也基本都会提供一类原子操作的接口,一般接口都带有atomic_xxx字样。原子操作类接口一般用于某个变量需要改变的情况,比如变量值需要增加、减少或者逻辑运算等等,但是如果这些操作是用高级语言编写的,比如C语言等,一句简单的“count++”被编译器编译后可能会生成n条指令来完成这一个操作,那么在这n条指令执行过程中是不能被打断的,如果被打断就有可能造成程序上的错误,这时我们就可以用之前学习的互斥原创 2022-02-10 11:40:56 · 238 阅读 · 0 评论 -
SylixOS移植常见问题——编译过多文件导致报错
问题复现:由于RealEvo IDE在Windows下使用的sh.exe支持的命令长度有限(命令要小于16K),如果需要编译的源文件过多,可能会报溢出错误或"make (e=87): 参数错误。"等,典型的表现型式有:我这里是创建了0.c、1.c~999.c,编译为一个动态库,来复现这个错误。系统自动生成的mk文件为:test_big_range_so.mk。解决方案:由于问题出现的原因显而易见,就是在编译过程中,执行到链接阶段时,由于需要链接的.c文件过多,导致链接的那一条命令长度原创 2022-02-10 11:28:46 · 702 阅读 · 0 评论 -
sylixos 串口驱动流程
在Sylixos 下串口被封装成一个字符设备;1,我们可以看到内核库源码ty目录下,是内核封装好的字符设备,在开发时我们只要完成相关具体的io操作及回调函数的填充即可:2,tty 设备的实现:基本流程,(1)安装驱动操作函数; (2)实现SIO_CHAN 结构体中的回调函数供tty 设备函数进行回调使用,创建 tty 设备,创建收发缓冲区;(3)需要我们实现SIO_DRV_FUNCS 中ioctl()、txStartup、callbackInstall 、pollInput、...原创 2020-12-30 08:32:55 · 940 阅读 · 0 评论 -
sylixos 下 t3 多核启动流程
在主核启动后,通知其它核进行启动:for (ulCPUId = 1; ulCPUId < LW_NCPUS; ulCPUId++) { /* 启动其它 CPU */ API_CpuUp(ulCPUId);}bspCpuUpSync();/********************************************************************/LW_API ULONG API_CpuUp.原创 2020-06-04 20:28:33 · 497 阅读 · 0 评论 -
sylixos 下打印小助手
#define _PrintFormat(fmt, ...) \ _DebugFmtMsg(__PRINTMESSAGE_LEVEL, LW_NULL, fmt, ##__VA_ARGS__)原创 2020-05-25 10:40:23 · 225 阅读 · 0 评论 -
sylixos 下 线程 和 中断 绑核
中断绑核: API_InterVectorConnect(SPI_GMAC, // 中断号 (PINT_SVR_ROUTINE)__emacIsr, (PVOID)pNetDev, "en...原创 2020-04-27 20:09:26 · 560 阅读 · 0 评论 -
sylixos yaffs checkpoint机制
sylixos 下当创建好了nand 设备和mtd 设备以及 yaffs 设备后,使用yaffs_mount() 函数挂载yaffs 文件系统;初始化时调用yaffs_guts_initialise()函数:yaffs2_checkpt_restore() 为checkpoint 机制,一般是系统第二次启动会为真,从相应的块中直接得到上次文件系统信息;如果不为真,会扫描所有 挂载...原创 2020-04-21 14:31:48 · 617 阅读 · 0 评论 -
1064 xip norflash 启动模式
1064 片内有 128 KB的 BOOT ROM,在启动时一般我们选择 xip 启动模式,启动流程如下:1064 片内有 4M 的spinorflash;内部 ROM boot 调用 spi 配置:配置 spinorflash然后根据 iVt 的 image 入口地址,跳转到对应的中断向量表,去执行我们的程序:链接脚本中定义了 中断向量的地址后面就是 ...原创 2020-04-20 18:09:58 · 532 阅读 · 0 评论 -
SylixOS任务调度分析
1. 任务调度相关链表SylixOS将任务控制块加入到不同的任务调度链表进行管理,创建一个任务就会把新创建的任务加入到优先级就绪表,等待被调度执行。根据不同的任务阻塞原因会被加入到不同的阻塞表中。1.1优先级就绪表图 1.1 任务优先级就绪表SylixOS系统启动的过程会初始化一个任务优先级就绪表,当创建新任务时,根据任务的优先级加入到对应的优先级就绪表中,如图 1.1所示。系...转载 2020-01-02 18:00:32 · 782 阅读 · 0 评论 -
抢占式内核和非抢占式内核的区别
内核抢占(可抢占式内核):即当进程位于内核空间时,有一个更高优先级的任务出现时,如果当前内核允许抢占,则可以将当前任务挂起,执行优先级更高的进程。 非抢占式内核:高优先级的进程不能中止正在内核中运行的低优先级的进程而抢占CPU运行。进程一旦处于核心态(例如用户进程执行系统调用),则除非进程自愿放弃CPU,否则该进程将一直运行下去,直至完成或退出内核 抢占式内核的意义:首先,这是...转载 2020-01-02 17:55:59 · 3153 阅读 · 0 评论 -
SylixOS 启动浅析
1、SylixOS启动概述 每个操作系统的启动都是多种多样,各有不同,SylixOS亦是如此,本文将浅析SylixOS启动层次和启动步骤两大方面。2、SylixOS启动层次 在专用的嵌入式开发板上运行嵌入式操作系统(如SylixOS、Linux等)已经变得越来越流行,通常从一个嵌入式操作系统的软件角度来看,引导加载程序和操作系统内核便是两个重要的层次,下面就简单介绍关于Syl...原创 2019-12-12 19:09:58 · 1091 阅读 · 0 评论 -
SylixOS 下的IO系统调用
SylixOS标准I/O基本介绍 简介 I/O 系统又称作输入输出系统,SylixOS 兼容POSIX标准输入输出系统,SylixOS的I/O概念继承了UNIX操作系统的I/O概念,认为一切皆为文件。与UNIX操作系统相同, SylixOS中的文件也分为不同的类型。 两种I/O类型 I/O系统分为 ORIG 型驱动结构和 NEW_1 型驱动结构,如图 1.1和图 1.2。...原创 2018-09-26 16:00:14 · 315 阅读 · 0 评论 -
SylixOS动态关核架构流程
SylixOS动态关核接口SylixOS 支持动态关核操作,通过如下应用函数;VOID Lw_PowerM_CpuSet(ULONG ulNCpus, UINT uiPowerLevel);函数Lw_PowerM_CpuSet原型分析:参数 ulNCpus是运行态的CPU 核个数;参数 uiPowerLevel是CPU能耗级别。基本流程系统函数调用流程如图 2.1:...原创 2018-11-30 15:40:09 · 156 阅读 · 0 评论 -
SylixOS动态启核架构流程
SylixOS动态启核接口SylixOS 支持动态关启核操作,通过如下应用函数;VOID Lw_PowerM_CpuSet(ULONG ulNCpus, UINT uiPowerLevel);函数Lw_PowerM_CpuSet原型分析:参数 ulNCpus是运行态的CPU 核个数;参数 uiPowerLevel是CPU能耗级别。基本流程系统函数调用流程如图 2.1:...原创 2018-12-28 14:25:33 · 218 阅读 · 0 评论 -
SylixOS启动脚本分析
本周学习了一些ARM指令、伪指令、链接脚本命令等,并对整个编译过程、elf文件有了更加深入的理解。ARM指令在ARM架构参考手册里面有了详细的介绍,这里不再列出,以下是一些GCC链接脚本命令的分析。 以SylixOS启动脚本为例,分析一下链接脚本相关命令。SylixOS链接文件包括config.h、config.lds、SylixOSBSP.ld,它们位于BSP板级支持包根...转载 2019-01-11 11:55:54 · 488 阅读 · 0 评论 -
SylixOS free命令实现过程
SylixOS free 命令在 SylixOS 系统下敲下 free 命令,会出现如下如图 1.1 所示:图 1.1 启核操作大致流程kersys :显示的是内核堆信息 vmm physical zone show :zone 1和zone 2 映射信息,分别显示映射的起始地址、所占内存大小、虚拟页大小、PGD表项入口、空闲页面个数、页面属性; ALL-Physical mem...原创 2019-01-22 14:46:51 · 336 阅读 · 0 评论 -
DSP C6678调试SylixOS程序
转载:https://blog.csdn.net/stone8761/article/details/80825634使用RealEvo-IDE编译SylixOS DPS工程生成可执行文件,由CCS5.5进行烧录1、打开CCS 5.5,新建CCS工程2、新建目标配置文件选择对应目标并保存3、设置6678开发板拨码开关到如下位置,上电,接USB线,确认驱动正确安装4、测试...转载 2019-03-18 15:51:10 · 564 阅读 · 0 评论 -
Uboot下NFS启动SylixOS
Ubuntu虚拟机下NFS服务器搭建使用Uboot下NFS加载SylixOS需要搭建Linux下NFS服务器。具体搭建可以参考网上:https://blog.csdn.net/linuxweiyh/article/details/78432149。需要注意:修改配置文件 /etc/exports,再其中添加 /home/lrj/nfsroot *(rw,sync,no_root_squash)...原创 2019-04-01 10:12:35 · 492 阅读 · 0 评论 -
SylixOS GSLX680触摸屏驱动移植
GSLX680 触摸屏触摸屏按照触摸屏的工作原理和传输信息的介质,可以分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式。GSLX680 为电容式触摸屏,挂接在I2C总线上,通过I2C总线来传输触摸屏数据。该芯片的连接方式如所示及与T3板子的I2C连接如所示。SylixOS 电容式触摸屏分析SylixOS下将电容式触摸屏封装成一个字符设备,应用程序只需通过read函数读取触...原创 2019-04-29 11:08:07 · 1952 阅读 · 0 评论 -
SylixOS中CTRL+C的大致处理流程
1.这几天在处理GPU方面的问题时碰到了在终端执行CTRL+C报错的问题,具体见Vivante GPU驱动报:SAFE mode error错误解决方法这篇帖子,这里主要记录CTRL+C的大致处理流程。2.当键盘按下CTRL+C时,主机就向目标板发送一个控制字符,其ASSIC码为0x03,在SylixOS下常用的控制字符如下,此定义是在tyLib.c文件中/*****************...转载 2019-05-08 10:05:21 · 951 阅读 · 0 评论 -
Linux下编译SylixOS
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/stone8761/article/details/80461826开发环境:Ubuntu 14.04SylixOS源码版本:1.6.7一、搭建环境$ sudo apt-get udpate$ sudo apt-get...转载 2019-08-28 11:23:31 · 1578 阅读 · 1 评论