- 博客(7)
- 收藏
- 关注
原创 ZYNQ设备树覆盖(device-tree overlay)
传统的设备树一般用于硬件资源已经确定的情况,但如果要添加或者删除硬件资源,需要找出已经在设备中使用的设备树源文件然后在源文件上修改,内核为了解决这个问题,就提出了Device Tree Overlays,中文上可以理解为“设备树插件”。其核心是通过传统的设备树语法,使得各个硬件模块的信息可以独立地用新的设备树语法来描述。在系统实际使用时,根据实际应用情景,需要用到哪些硬件模块就把对应的设备树插件加入到主设备树即可。
2024-08-27 17:41:40
1823
原创 使用/dev/mem设备和mmap函数读写bram内存分享
在计算机系统中,/dev/mem是一个特殊的设备文件,它代表了整个物理内存。这个文件提供了对物理内存的直接访问,通常用于低级内存操作,比如驱动程序开发或系统级调试。访问/dev/mem设备文件通常需要 root 权限,因为它允许用户执行对物理内存的读写操作。打开设备文件:使用标准的文件操作函数,比如open(),打开/dev/mem设备文件。定位物理地址:确定要访问的物理内存地址。在Linux中,物理地址通常是从0开始的。内存映射:使用mmap()函数将物理地址映射到进程的地址空间。
2024-07-15 19:13:32
1677
原创 在Linux系统下,使用devmem2访问物理地址
在Linux系统下,对物理地址的读写是一件很不方便的事情,在做简单的测试的时候,可以使用devmem2工具直接读取物理地址中的数据,也可以直接向物理地址中写数据。
2024-07-15 16:10:07
809
原创 zynq编译内核时,不知道怎么配置menuconfig怎么办 ?
(因为项目需求需要编译内核,但编译出来的系统和之前厂商提供的系统相比少了很多外设,一直以为是设备树源码的问题、内核源码的问题、设备树和内核不匹配的问题,排除了很久发现是menuconfig配置的问题,后来menuconfig的配置也尝试了很多遍,还是没有解决,根本原因还是在于经验不足,menuconfig的配置信息太过繁杂,所以一直没有配置对)make ARCH=arm menuconfig指令后会进入如下界面,然后就需要根据自己的需要去配置内核信息。配置完的结果会写入根目录下的.config文件里。
2024-07-10 00:09:53
435
原创 zynq编写hello world串口无打印信息怎么办?
如图所示,在调试的过程中可能会进入到如下的界面,然后一直在disassemblely的前三行来回循环,甚至练main函数都没有进去,串口也没有信息输出。
2024-04-09 18:04:54
1379
2
原创 zynq的U-Boot加载fpga比特流文件
在开机倒计时的时候,按任意键进入U-Boot界面输入指令查看环境变量:printenv因为从vivado导出的比特流文件是.bit文件,而U-Boot的环境变量定义的指令是加载.bin文件的,因此要使用bootgen将.bit文件转换为.bin文件注意第五行的bitstream_image=system.bit.bin,这也说明要将比特流文件转换为.bin文件,并命名为system.bit.bin(也可以用修改环境变量,将“load”修改为“loadb”,同时修改。
2024-03-23 11:52:50
3524
3
原创 开发板连接网络
此处百度到百度的ip是202.108.22.5, 但这个ip是错的,chatGPT 告诉我的百度的ip是220.181.38.148,这个是可以ping通的。
2023-12-24 22:34:47
2607
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人