SylixOS
sylixos
hhzxzy
这个作者很懒,什么都没留下…
展开
-
boot下验证内存
如何验证全志t3起boot后,存储初始化是否有问题:memory writememory display.b bity 8b.w wide 16b.l long 32bmw.w 16b数据 想写入的值(16b) 写的次数(不断向后写)例子:mw.w 0x30000000 0xaaaa 30md.w 0x30000000 40错误mw.w 0x3FFFFFFE 0xaaaa 1md.w 0x3FFFFFFE 1错误mw.w ...原创 2021-08-25 11:07:18 · 225 阅读 · 0 评论 -
移植zmq流程--RealEvo下创建成功编译及测试
分析make.log创建工程前,首先要明确要编出那些库,需要用到那些源文件。这就是之前保存make.log的原因。创建工程:将ubuntu内编译好的文件拖到win10环境下:建对应c++工程:(app工程即可)注意,一开始可以先选上costom makefile configuration,避免生成的libzmq.mk有问题,创完之后在取消。接下来主要要改的就是libzmq.mkLibzmq.mk解析:target生产的目标文件的名字:可以是libzmq.so,l原创 2021-07-23 14:58:26 · 602 阅读 · 0 评论 -
移植zmq流程--linux下源码编译
最近换了新的电脑,项目上需要使用zmq库。就把从安装vmware,虚拟机到最终移植到开发板上运行的流程都走了一遍。1、安装vmware16,注册码2、下载Ubuntu20.04.1镜像3、下载Zmq4.1.4zip包(翻墙)http://download.zeromq.org/4、vmware内实现文件拖放https://blog.csdn.net/y_k_y/article/details/82857745https://blog.csdn.net/y_k_y/article/de原创 2021-07-23 14:50:48 · 501 阅读 · 0 评论 -
gmac做3路网卡转fpga实现方案对比
1个GAMC转3路网卡的关键在于:发送时,对于GMAC发出的包,FPGA应该转到那个PHY口接收时,从PHY口接收到的包应该给到那个netdev处理A方案在FPGA中保存三个netdev的mac,发送时根据源mac决定要发给那个phy接收时,根据目标mac决定input给那个netdev。注意:三个netdev共用一份gmac驱动程序,每次初始化Init都调用一次pnetdev,实际发生中断无论是TX还是RX,最终中断处理函数的入参pNetDev永远指向最后一个创建的ne原创 2021-07-12 15:02:58 · 479 阅读 · 0 评论 -
gmac网卡驱动1-------mac与phy基础知识
GMAC简介网卡用于报文控制,一般有mac和phy组成。mac: 一般用于数据的过滤phy: 操作数据实际的收发mac分类:mac按最大传输速率可以分为emac,gmac组成:帧发送(Frame Transmission)接收上层协议传来的数据,加头尾(控制信息),组成以太网帧,以位数据流形式传到物理层。帧接收(Frame Reception)接收物理层位数据流,检查是否有效(目的IP,校验码,字节对齐),发送给上层协议,或丢弃。GMAC控制(GMAC Control)用于原创 2021-04-27 17:28:58 · 9970 阅读 · 0 评论 -
gamc网卡驱动2-----gmac收发实现
gamc数据传输gmac_dma_desc:GMAC内部DMA通过一个描述符链表在内存和TX/RX_FIFO之间传输数据,每个描述符结构如下图:其详细介绍如下:gmac_dma_desc结构:(16B)status:传输控制信息 当前gmac_dma_desc结构是否可用, 当前接收到的数据帧长度。(如果为接收状态) 当前gmac_dma_desc结构是否是数据帧的第一个或最后一个 帧头校验和是否正确~~~~~~~~~~~~~~~~~~~~~~~~buffer size: [31原创 2021-04-27 18:05:51 · 3065 阅读 · 1 评论 -
AMP多核启动
核间共享内存安排:0x78000000 开始,每个核有4个标志_G_ulHoldingPen 分配了64B 实际usigned long * 4(cores) 标识当前核是否启动成功最初由核0初始化所有核标志:置0;启动后由每个核在启动成功后置0xa1a1a1a1。_G_iCacheBarrier 64B bool 标识是否成功到达核间同步点1最初由核0初始化所有核标志:置0;到达后由每个核置1。_G_iCacheBarrier1 64B bool 标识是否成功到达核间同步点原创 2021-04-27 11:38:30 · 540 阅读 · 0 评论 -
sylixos向系统添加shell命令
sylixos向系统添加shell命令例子void __tshellSetReg(INT iArgC, PCHAR ppcArgV[]){ UINT32 addr; UINT32 reg_value; if (iArgC != 3) { return; } addr = lib_strtoul(ppcArgV[1], NULL, 16); //16表示按16进制数处理,不用加0x reg_value = lib_strtoul原创 2021-04-27 16:50:37 · 230 阅读 · 0 评论 -
核间中断示例
sylixos下核间中断例子核0: int core_int_id = 8; while (1) { bspMpInt(1, core_int_id); //向核1发送中断号为8的核间中断 sleep(1); }核1:#define __SYLIXOS_KERNEL //一定要加#include "SylixOS.h"/* * arm中核间中断的编号: 0-15自由使用 */int core_int_id = 8;/* * 核1收到中断号为4的核间中断执行以下函数原创 2021-04-27 16:42:21 · 313 阅读 · 0 评论 -
源码编译openssh
编译openssl:./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib-dynamic enable-camellia > config.txtmake V=s > make.log报错:/usr/bin/ld: libcrypto.a(gost_eng.o): relo...原创 2020-03-20 23:00:04 · 596 阅读 · 0 评论 -
IDE使用
建 SylixOS Base 工程(第一次创建耗时很长)Toolchain选x86_64-sylixostoolchainCPU Type 选x86_64在已建的base工程上建SylixOS App 工程SylixOS Base Project 选之前建的base工程此时toolchain和CPUType以被设置为和Base工程一样,且不可改编译(两个工程都要编译)右击Syl...原创 2019-11-22 11:28:20 · 139 阅读 · 0 评论