- 博客(14)
- 资源 (24)
- 收藏
- 关注
原创 gd32f450vi rtthread timer5定时器初始化示例
基于gd43f450vi,rtthread系统,timer5定时器初始化示例
2024-07-17 11:28:06 242
原创 rtthread studio修改gcc优化等级从O0为O2(或者Os)
经过实际测试发现只有修改工程目录下的.cproject文件中,找到类似下面的,将其中的-O0 改为-O2。打开编译详情选项,可以看见-O2优化等级生效。
2024-05-15 10:23:21 536
原创 early_fixmap_init打印变量
解析linux kernel5.10 arch/arm64/include/asm/memory.h中的PAGE_OFFSET KIMAGE_VADDR MODULES_VADDR BPF_JIT_REGION_START VMEMMAP_START PCI_IO_START FIXADDR_TOP宏打印early_fixmap_init中的变量
2023-12-16 23:01:49 130 1
原创 __enable_mmu注释
str \src, [\tmp, :lo12:\sym] //:lo12:\sym 指\sym的低12位。adrp \tmp, \sym //\sym的页地址,即12位地址对齐。.macro str_l, src, sym, tmp //地址sym的内容是src。//sctlr_el1在__cpu_setup中赋值 开启mmu icache dcache等等。变量__early_cpu_boot_status赋值为。
2023-03-31 23:46:44 105
原创 __cpu_setup注释
orr x0, x0, x6 // set bits //x0=0x34D5D91D 会在函数__enable_mmu里用到, //用来开启icache dcache mmu等。bit[12]:1 表示不允许运行在EL0时访问 MDCCSR_EL0,DBGDTR_EL0,DBGDTRTX_EL0, and DBGDTRRX_EL0 寄存器。
2023-03-31 23:41:49 243
原创 head.S kernel image映射
所以index 0对应的level 2 table地址为0000000001466000, index 0x49表项内容为0x1400F11。所以index 0对应的level 2 table地址为0000000001466000, index 0x40表项内容为0x200F11。level 1 table地址0x1465000 index 0表项为0000000001466003。level 1 table地址0x1465000 index 0表项为0000000001466003。
2023-03-27 23:58:35 196
原创 head.S中__idmap_text_start 至__idmap_text_end映射
这里需要映射的物理地址是__idmap_text_start到__idmap_text_end,即物理地址0xC17000到0xC17448,作为物理地址需要算出bits[47:21]填充到level 2 table的某个表项中。level 2 table每个表项是block 描述符,每个block地址是2M对齐,此时的level 2 table地址0x1463000,index 6的表项内容:bits[47:21]是0x6, 对应block地址0xC00000, bits[11:0]是0xf11。
2023-03-27 16:20:27 252
原创 在arm64 head.S中用汇编实现打印64位寄存器和字符的宏
所以为了防止使用宏的时候,没有保存寄存器上下文,那么也在arch/arm64/kernel/setup.c中定义变量regs_save[11],用来进入宏的时候保存寄存器,退出的时候还原寄存器。print_char: 打印一个字符,这里rp3399使用了uart2,基地址是0xff1a0000,向UART_THR寄存器写入值,即可打印,其他板子需要换基地址。由此可见,测试可行,然后整理成宏print_reg64,代码如下。尝试在head.S中添加两个宏:打印字符,打印一个64位寄存器。
2023-03-25 00:06:34 1918
原创 ffmpeg h264解码, 屏蔽因为网络丢包等各种原因导致的花屏帧
<br />看来问题只能这样解决了,现在还要多测测,防止产生新的问题。目前来看,对现有代码没有影响,花屏的帧直接屏蔽掉了。<br /> <br />思路:<br />问了下机顶盒方面h264解码的,他们用的是硬件解码,他们做到不花屏的方法就是简单的设置了一个硬件解码提供的接口:设置了错误处理模式。<br />我想这个错误处理模式肯定对那些错误的帧直接屏蔽掉了,这样显示到屏幕上就不花了。<br /> <br />因此,就有了问题:ffmpeg有没有错误处理的模式,能使花屏的帧(h264格式的)不显示出来?<b
2010-12-02 17:07:00 7958 7
原创 装VS2003遇到的问题
<br /> 装VS2003遇到的问题<br /><br />打开虚拟光驱,装入vs2003 CD1镜像,双击setup.exe,出现”Visual Studio.Net安装程序”对话框,只有第1个步骤:“Visual Studio .NET 系统必备”是能点击的.点击,会弹出一个对话框,选中”跳过”,弹出”请插入光盘3”对话框, 插入CD3,开始安装系统组件。在安装Frontt Page 2000 客户扩展时,显示安装失败。<br /> <br />此时直接
2010-10-16 22:50:00 980
原创 Win7改成XP
Win7改成XP经过两天的努力,终于改装成功,特总结下,以供参考。机器ACER ASPIRE 47475G,预装WIN7 家庭版 64位,支持双显卡切换。操作前注意备份。备份资料和驱动,有的win7下的驱动在XP下不能用,主要是显卡。1. 首先从网上下了老毛桃的winpe U盘版,要带PM硬盘分区的,在U盘上做了个WINPE系统。2. 从网上下了个GHOST XP的系统镜像后,解压到D盘,同时为防止丢失也备份一份在U盘中。3
2010-10-16 22:47:00 2244 1
qemu调试linux内核,及sourceinsight阅读linux内核
2024-02-09
xcap-1.3.2发包软件
2023-12-19
linux内核(5.10)在head.S中打印64位寄存器
2023-11-22
内存池:8-8K统一分配管理及kernel中的链表使用
2023-08-30
红黑树代码,linux kernel中提取,适配linux c, c++和windows (vs2022) c, c++
2023-08-13
linux内核中移植的红黑树代码,适配windows, linux, gnuc工具链
2023-08-12
红黑树代码,linux kernel中提取,并在linux上和windows64上运行通过,仅支持c
2023-08-12
将linux kernel中的红黑树及红黑树测试代码,修改到windows上,并在vs2022上纯c环境编译通过
2023-08-12
linux kernel中的红黑树及红黑树测试代码移植
2023-08-11
原创TS协议解析(华为方收录)
2010-12-04
远程浏览服务端文件支持文件上传下载
2009-12-30
C++面向对象的2种方法的例子
2009-09-23
vnc realvnc412 学习笔记
2009-06-26
C++标准程序库—自修教程与参考手册
2009-04-17
代理服务器及测试客户端VC6源代码
2009-04-17
Source Insight
2009-02-22
usbboot
2008-08-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人