自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 采用消息头的方式处理tcp粘包和半包的代码示例

【代码】采用消息头的方式处理tcp粘包的代码示例。

2024-05-10 09:30:02 192 1

原创 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

原创 bin文件转成字符数组

运行示例,读取test.bin文件中的数据,存储到test.txt文件中。读取bin文件,转成字符数组。

2023-12-14 16:14:12 229 1

原创 vmlinux.lds的链接位置

linux内核链接位置

2023-12-12 09:59:42 68

原创 __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内核

使用qemu调试linux5.10内核aarch64,并可以调试head.S,并使用sourceinsight添加linux内核实际使用的文件。总结网上的各个资料,实际应用了一遍,整理整个过程中的文档,以备查看

2024-02-09

xcap-1.3.2发包软件

较新版本的xcap, 一款构造网络包及发包软件。此为英文版。如果提示缺少mfc110.dll, 运行目录依赖的dll 中的vcredist_x64.exe和vcredist_x86.exe

2023-12-19

linux内核(5.10)在head.S中打印64位寄存器

用到的全局变量regs_save在arch/arm64/kernel/setup.c中定义如下 u64 __cacheline_aligned regs_save[11]; 以下代码,可以打印出_text的物理地址 print_char x0, x1,x2,#0x3a // ':' adr_l x1, _text print_reg64 x1,x6

2023-11-22

vcruntime140d.dll: rk3588 trm p1资源需要的dll文件

ucrtbased.dll vcruntime140d.dll,解压后放到exe的同目录

2023-10-08

内存池:8-8K统一分配管理及kernel中的链表使用

支持替代malloc, 从heap中分配系列内存池:8-8K,每个内存池的个数可以调整 也支持单独创建与使用一个额外的大小指定的内存池 从kernel中移植链表,及实际使用

2023-08-30

c和c++混合编译的Makefile文件

一个Makefile文件,已备查看

2023-08-30

rk3588 trm p2

演示windows界面程序的高级用法,运行会产生rk3588资料,文件名

2023-08-28

rk3588 trm p1

用于演示windows界面程序的执行效果,运行会有rk3588的资料,文件名

2023-08-28

Visual Studio Code源代码

用于研究VS code源码

2023-08-27

红黑树代码,linux kernel中提取,适配linux c, c++和windows (vs2022) c, c++

包括linux下的c测试工程, c++测试工程。 windows (vs2022)下的c测试工程, c++测试工程 代码目录,以及使用说明

2023-08-13

linux kernel中提取并适配的红黑树的c代码,支持cpp混合环境中编译

vs2022的红黑树c和cpp混合环境的工程

2023-08-12

linux内核中移植的红黑树代码,适配windows, linux, gnuc工具链

包含Makefile的完整工程。 也同样可以在vs2022上运行,需要自己建立vs工程。同样支持gnuc工具编译

2023-08-12

移植linux内核的红黑树代码,并适配到windows64中,在vs2022中编译通过

红黑树的vs2022工程

2023-08-12

红黑树代码,linux kernel中提取,并在linux上和windows64上运行通过,仅支持c

linux kenerl中提取出红黑树代码,并在linux上和windows64上运行通过,不支持c++

2023-08-12

将linux kernel中的红黑树及红黑树测试代码,修改到windows上,并在vs2022上纯c环境编译通过

将linux kernel中的红黑树及红黑树测试代码,修改到windows上,并在vs2022上编译通过

2023-08-12

linux kernel中的红黑树及红黑树测试代码移植

提取linux kernel中的红黑树实现,供项目使用。可以在linux下编译运行。可以用来研究红黑树代码,已经在项目中使用。附上运行结果 xw@xw-virtual-machine:~/share/test/rbtree$ ./rbtest KERN_ALERT rbtree testing key=1 key=2 key=3 key=4 key=5 key=6 key=7 key=8 key=9 key=10 erase all rbtree rbtree is empty

2023-08-11

原创TS协议解析(华为方收录)

本人两个月研究TS的结果,为记录研究经验,特花了7个工作日写出这个文档,本文档是第2版,之前发的是第1版。 该文档已被华为方收录,并给予肯定。 里面以我的理解对TS协议来了个通俗的解释,主次分明。且通俗易懂,呵呵没办法,不这样的话,通不过华为方的验收。 前面发的“ts流中分离出es数据的代码”就是在此基础上写出来的。 特分享下,如果大家有任何疑问可以CSDN上通知我,我将尽我的可能回复。

2010-12-04

ts流中分离出es数据的代码

VC6下编译通过,配合之前发的文档ts文件分离es的实际代码,里面有测试用的ts文件,运行后会有分离出的264和mp3文件

2010-08-29

从TS文件中分离ES数据的方法

关于ts的文件说明,说明怎么从ts流中分离出一帧帧的es数据

2010-08-29

严版数据结构中字符串相关操作的实现及模式匹配

严版数据结构中字符串HString基本操作,以及模式匹配操作。因为书上基本都有,本人只不过把少数伪代码实现了下,所以分享下

2009-12-30

严版线形表实现含部分课后习题

VC++6.0下编译下通过。线形表含顺序表和单链表的操作实现及部分课后习题实现。自己测试了下,都基本实现

2009-12-30

远程浏览服务端文件支持文件上传下载

VC++6.0编译下通过。模仿RealVNC412编的,查看服务端的盘符文件内容并且看到感兴趣的可以文件下载下 来,同时也可以上传文件到服务端任意位置的通信和文件操作程序,支持单个文件以及一个目录下的所有文 件上传或下载。照搬realVnc的网络通信功能,以及支持多客户连接功能。客户端也尽量模仿realvnc的客户 端,包括断线重连,属性页对话框,以及主体交互对话框,都是直接用SDK编的,当然也是抄的RealVNC.客 户端以及服务端源代码文件夹下的common文件夹是静态库文件,有的是照搬RealVNC412源码,有的是模仿写 的。

2009-12-30

C++面向对象的2种方法的例子

看过2个代码,都用到了面向对象的方法,而且是2种不同的方法,简单地说就是:数组和模板。我把它们提取并模拟出2个类似的代码。我以前都苦于找不到例子,印象不深;相信你们也有同感吧,故分享下

2009-09-23

vnc realvnc412 学习笔记

本人2个月来学习realvnc412的学习心得,笔记有点散乱。图像处理部分没有涉及。适合于新手看,老手可以跳过了。互相讨论,chinaujs@126.com

2009-06-26

C++面向对象多线程编程

《C++面向对象多线程编程》多线程编程的教材,提供PDF下载

2009-04-17

C++标准程序库—自修教程与参考手册

《C++标准程序库—自修教程与参考手册》一本绝对适合STL初学者的书,本人也正在初学中,好东西不感独贪,给大家分享下,提供PDF下载 欢迎大家互相探讨,有讨论才能辩细节

2009-04-17

代理服务器及测试客户端VC6源代码

VC++6.0下源代码 提供代理服务器用来转发客户端数据,目前只能进行单对单转发,以及配套的测试客户端程序,已在公网上做过实验,可以实现内网穿透,未使用P2P打洞方法。有多对1转发程序后,再另行上传

2009-04-17

VNC VC++完整源代码

VNC vc++完整源代码,如果你想研究VNC又苦于找不到源代码,本资源能提供给你很好的帮助

2009-02-22

Source Insight

Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。Source Insight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。

2009-02-22

最简单的聊天室

在vc++6.0下通过,先运行服务端,完整的源码

2008-08-22

冰刃icesword

这个软件大家很熟悉吧,功能很强大。至今我还用不全,<br>给大家分享下

2008-08-22

图书管理系统

在DOS下运行的,不带数据库,我门上C++这门课是布置的论文

2008-08-22

Process.Explorer11.20_yfy

一款可替代任务管理器的强大进程查看工具

2008-08-22

dllexp

一款windows下运行的查看dll导出函数的软件,功能和VC++6.0提供的一个exe工具(它要在DOS下运行)<br><br>软件太小,就给大家分享吧

2008-08-22

usbboot

该软件能将U盘做成DOS系统 <br>按提示做好后,进入BIOS将第一启动设为移动设备启动,插上U盘就可以进入DOS了。<br>我的U盘是2G的,只能选择HDD模式,我试过了,能进入DOS

2008-08-22

ceedo

随身携带的操作系统,免除你安装软件的痛苦,

2008-08-22

sreng2

一款新手修复系统 及查错 修复安全模式的极佳软件

2008-08-22

二进制编辑器

一款二进制编辑器软件

2008-06-20

反汇编软件

一款反汇编工具很小的

2008-06-20

c++教程提供下载

c++教程提供下载....

2008-06-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除