- 博客(18)
- 收藏
- 关注
原创 移植mkfs.exfat工具到zynq arm
1、地址:https://github.com/exfatprogs/exfatprogs/2、这里我是用的是exfatprogs-1.2.1.tar.gz。
2024-03-19 14:58:51 453 1
原创 ZYNQ uboot整体擦除flash后,JTAG烧写卡住
在调试板卡时,使用sf erase 0x0 0x2000000 命令误将flash全部擦除,擦除后使用JTAG刷写BOOT.bin时卡住,更换vivado2015、vivado2016、vivado2018均不能正常烧写flash。1)vivado2018创建xqspips_flash_polled_example例程,debug运行,程序正常,串口有输出;4)制作BOOT.bin,烧写,这时候就能写进去了;5)重启,这时候因为是JTAG模式,是起不来的;7)再次生成BOOT.bin,重新烧写,可以了。
2024-03-13 17:03:27 643
原创 shell语法记录
文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行);例如:将 stdout 和 stderr 合并后重定向到 file。单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;①将command的标准输出strout(1)重定向到file。②将2(标准错误输出)重定向到1(标准输出)
2024-03-04 16:46:40 895 1
原创 SylixOS下crashtrap程序捕获异常
1、除法分母为负值产生的崩溃不能被crashtrap捕获。2、指针操作导致的崩溃可以被crashtrap捕获,但会导致系统崩溃;不使用crashtrap捕获则不会导致系统崩溃。3、尝试了几个可能导致段错误的情况,大部分会导致系统直接重启,我要你有何用!Oh Shit!
2024-01-09 11:30:13 373
原创 SylixOS进线程优先级和调度策略调整
对于实时调度策略,如SCHED_FIFO(先进先出)和SCHED_RR(轮转),POSIX标准优先级定义通常从1(最低)到99(最高),一个较高的数值通常表示一个较高的优先级。而SylixOS内核支持从0(最高)到255(最低),一个较高的数值通常表示一个较低的优先级。
2024-01-08 17:39:06 441 1
原创 ZYNQ平台SylixOS系统启动过程占用时间最长的操作
当i = 17时,ulPageNum = 262144,1页是4Kb,换算一下就是1G的PL空间。如果抛开zynq,如果不需要做PL寄存器地址的映射,启动过程大约需要3s左右。可以看出__vmmLibPageMap是按页映射的,页越多占用时间越长。
2024-01-03 18:07:28 441 1
原创 C语言程序调用汇编函数求和
x86和arm汇编指令集和寄存器等有明显区别,各个架构之间不能兼容。2、汇编代码(asm_x64.S)2、汇编代码(asm_arm.S)1、c语言代码(main.c)1、c语言代码(main.c)
2023-12-27 15:59:26 467 1
原创 zynq 7000 AMP模式 双裸核 软中断不触发
记录一个AMP模式下,软中断不触发的问题网上有很多双裸核交互实验的文章,这里记录几个需要注意的点。
2023-12-14 16:45:59 502 1
原创 SylixOS执行应用程序找不到链接符号
我的系统是Windows 10 专业工作站版,IDE版本SylixOS IDE 5.0.1_professional。问题:SylixOS上板跑的时候发现无论什么应用,只要在板上运行,都会报can not find symbol。3、确认应用程序链接的base工程没有问题,和板上的系统是匹配的。7、终极大招:咨询技术支持,最后重装操作系统解决。5、windows防火墙、杀毒软件全关,不好使。4、重新编译base和bsp,问题没解决。2、确认应用程序编译时链接的库没有遗漏。6、卸载IDE,重新安装,不好使。
2023-12-12 14:15:30 380
原创 uboot引导linux的实验笔记
zImage的头部有地址无关的自解压程序,因此刚开始执行的时候,zImage所在的内存地址(entry point)不需要同编译kernel的地址相同。此种情况下,bootm会把uImage header后的zImage move到load address(见上方代码),然后go到entry point开始执行。由此知道此时的load address必须等于entry point。结论:对于1G内存,当LOADADDR在0-0x2FFFFFFF之间时,可以正常启动,大于0x30000000的内存会有问题。
2023-11-23 14:27:25 1555
原创 Linux 5.19.0版本加载自定义驱动的未签名问题
Linux 5.19.0版本ubuntu在加载自定义驱动程序时报错:Key was rejected by service。找到刚才的私钥MOK.priv和MOK.der证书,写驱动名字。证书名字随便写。这里会提示输入口令,自己随便写。选择"Enroll MOK"选择"View key 0"选择"continue"选择"reboot"
2023-03-23 21:04:16 875 1
原创 Linux驱动 i2c子系统笔记
一、关键结构体1、struct i2c_adapteri2c适配器/控制器和cpu相关联,i2c register map相同的cpu,这块操作一般相同结构体内包含struct i2c_algorithm指针,通信前adapter选择一个algorithm与其对应的从机进行通信2、struct i2c_algorithmi2c算法/操作方法主机和从机通信的时序与主机和从机都有关如果是非标准i2c时序,则需要自己实现由adapter调用.master_xfer 负责
2022-07-10 14:11:46 1790
apache(httpd)源码
2024-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人