- 博客(54)
- 资源 (2)
- 收藏
- 关注
原创 zynq7000 + ucos3 + lwip202_v1_2调试过程
直接把lwip202_v1_2复制到ucos_lwip_bsp的libsrc文件夹中。编译时会报错, 直接把相关的报错文件引用的xuartps.h注释掉。zynq 网卡Phy setup error问题。2 ping同以后,在zynq上添加ucos系统。打开 mss文件中的source,在如下位置添加。跑起来可能会报错,看下面的链接解决。1 现在裸机应用上验证lwip。3 移植lwip协议栈。
2025-03-28 19:22:40
297
原创 问题记录 freertos程序卡死在xQueueSendFromISR
然后NVIC_EnableIRQRequest(COM2_IRQn,7,0);使用的中断优先级低于配置的configMAX_SYSCALL_INTERRUPT_PRIORITY的值。将freertosconfig.h文件中 的 #define configMAX_SYSCALL_INTERRUPT_PRIORITY 6。
2025-02-28 15:37:32
161
原创 Keil5在编译过程中出现.cannot open source input file “lwip/opt.h“: No such file or directory的问题
解决方法如图 除了把include文件的目录添加进去,把他的上层目录也要依次添加进去。
2024-12-31 11:03:43
349
原创 node js 过滤空白行
这种方法不仅移除了文件开头和结尾的空白行,还确保了每一行内部的多余空白也被清理掉。此外,它不会遗漏中间的空白行(如果有的话),因为trim()是在分割之后应用于每一行的。只过滤文件开头和结尾的空白行。
2024-12-27 21:32:17
325
原创 获取 token
确保已在仪表板上登录你的 AIGaea 帐户 右键单击 > 检查或 F12 搜索/前往/单击应用程序 > 存储 > 单击本地存储 > 单击Gaea 填写过滤器 gaea_token / browser_id 即可找到你的 Gaea Token / BrowserId
2024-12-01 14:24:03
173
原创 小记,一次龙芯2K nand ecc错误
2 第二种是系统下报ecc错误,第一种和上述一样,要改cs的操作,还有一种比较操蛋了,是系统的镜像大小超过了50M,且从mtd1启动,但mtd1只有50M,这种情况要把mtd1改大,改成60M就可以了。1 第一种 nand 的片选设置不对,默认的nand cs是 cs0, 但定制板的nand cs是cs2,需要更改nand 的cs,以及和cs相关的寄存器的初始化的 操作。
2024-11-28 10:49:26
226
原创 create_image
define create_image # 复制 GDB 到根文件系统 #@cp -rfa $(USP_DEVICE_DIR)/arch/$(CPU_ARCH)/image/gdb $(ROOTFS)/bin/gdb @cp -rf $(USP_DEVICE_DIR)/make/$(CPU_ARCH)_8180/boot/* $(ROOTFS)/plat/ @cp -rf $(USP_DEVICE_DIR)/make/checkmd5.sh $(ROOTFS)/usr/bin/ @cp -rf $(USP_
2024-11-27 14:22:58
401
原创 linux内存管理学习笔记
https://zhuanlan.zhihu.com/p/631356509万字整理,肝翻Linux内存管理所有知识点-优快云博客计算机组成原理——原理篇 储存 - 小萝卜鸭 - 博客园
2024-11-11 17:00:33
142
原创 gd32笔记
最终定位到发生问题的函数: shell_version_cmd --> unti_strcmp --> LDRB r2 ,[r1,#0]。HardFault 问题查找步骤 : 发生HardFault时 ,当前PC 和 LR参考意义不大 ,应该根据当前SP指针的地址 , 获取此8个寄存器的值 ,其中PC为发生异常时的PC,LR为发生异常代码所在函数的下一条执行的代码 , R0-R4 为过程值 ,可能为参数 ,返回值 ,内存加载值等等 ,具体依靠PC和LR能分析其内容。
2024-11-08 09:11:44
279
原创 linux 进程调度学习笔记
el0_sync 是 ARM 架构中处理来自 EL0(用户模式)同步异常的入口点。同步异常是指那些在执行特定指令时立即触发的异常,而不是由外部事件(如中断)引起的异常。Kernel 判断当前进程标记是否为 TIF_NEED_RESCHED,是的话调用 schedule 函数,执行调度,切换上下文,这也是上面抢占(preempt)机制的本质。是 ARMv8-A 架构中处理来自 EL1(内核模式)的中断(IRQ)的异常处理入口。ret_to_user 是异常触发,系统调用,中断处理完成后都会调用的函数。
2024-11-07 20:17:33
393
原创 usb学习笔记
设备将自身的配置信息保存在本地 ,主机在检测到设备接入时 ,通过端点0获取设备配置信息,然后根据配置信息,使用配置的模式以及配置的数据端点通信 ,这个过程称为。控制传输为了保证配置数据的传输的有效性,使用了指令再确认机制。BULK传输的速率取决于主机IN 或OUT事务的间隔,系统占用率高,IN或OUT事务间隔可能就变大,系统占用率小,IN或OUT事务间隔可能减小。同步传输综合了BULK传输的整体速率,以及中断传输的实时性,但是去掉了事务的应答,不具备错误重发机制,多用于音视频传输允许少量错误失真地方。
2024-10-30 16:27:18
285
原创 龙芯2k yt8511 phy linux系统下的调试记录
最初 yt8511在系统下只能协商为10M,而且if down 再if up后就不通了。因为做的板子上一个版本用的是yt8521,是正常的,想着把配置都换成8521的配置。代码修改位置drivers/net/phy/motorcomm.c。启动linux,能够正常自协商成1000M了。折腾了一天也没整好。
2024-10-15 14:44:09
356
原创 iar 使用笔记
option->custom build->command line 填入 --load_at=0x004000000。1 iar 如何指定app代码的加载地址?
2024-07-04 17:42:08
158
原创 1394 笔记
条件3,STOF消息表明CC处在一个合法的操作模式,并且在一个“好的”状态,通过条件1和2一旦认定STOF消息是有效的,远程节点必须检查CC的状态。在后续连续一段时间内,如果STOF消息是无效的,远程节点必须认为相应的CC为失效。如果从上一个STOF消息之后10ms±50μs到105μs内接收到STOF消息,不论上一个STOF消息是否有效,均认为本条STOF消息周期正确。在后续连续一段时间内,如果STOF消息不符合上述的条件,远程节点必须认为相应的CC失效。条件4,CC给节点的消息是有效的。
2024-04-29 23:38:31
969
4
原创 裸机 lwip,客户端断开连接后,无法重新连接server端
修改error_callback函数,将tcp_server_disconnect函数中的tcp_abort替换为tcp_close。/* PC上位机如果正常运行中闪退或者不良退出会出现这个错误,此时服务器需要释放掉连接 *///tcp_abort(tpcb);/* 关闭连接并释放tpcb控制块 */
2024-04-24 23:27:36
1209
原创 复旦微 zynq amp cpu0 唤醒启动cpu1
这里注意选择apu 0,这样cpu1就不会主动唤醒了,而是等待被cpu0唤醒。2 在cpu0的main函数中增加唤醒代码 active_cpu1();代码load地址就是 icf 文件中分配的代码起始地址。3 打包 boot.bin,几个注意事项见下图。1 配置多核amp工程,参考上一篇文章。
2024-02-06 17:20:02
998
原创 复旦微zynq amp 多核使用
6. 打包 boot.bin 文件,boot.bin 文件由 fsbl+bit+app0+app1+app2+app3 组成,注意修改 destination CPU 和 cstartup.s 文件一致。4. 修改初始化代码,fsbl 里边已经将 DDR 等硬件初始化好了,注释掉哦 app 中的初始化 代码,避免重复是初始化。5.修改工程的 a7_ahbsram.icf,主要修改点是将地址指向 DDR 上,多个 core 使 用的地址空间分隔开。7 固化后,重新上电,打印效果。
2024-02-06 15:32:34
1138
1
原创 zynq fmql45+ast88e1111 lwip的调试过程笔记。
11 分段测试tx clk ,在mac init 后,加while(1),阻塞,发现这时候,tx clk 还是25M 是正常的,但是跑起复旦微的官方lwip测试历程后,tx clk 就开始放飞了, 来回的变,观察lwip app代码,发现有段代码可疑,注释掉。5 先扫phy id 扫不到,测试复位信号,通过一通折腾,发现国产的88e1111工作慢,复位以后,好久才能扫到phy id ,没办法加延时。9 测试tx rx clk ,发现rx clk 25M是100M的速度,但是tx clk 来回变化,不稳定。
2024-01-18 09:56:38
1578
6
原创 gd32问题记录 FreeRTOS_send函数发送成功,对方却收不到信息
define configTOTAL_HEAP_SIZE ( ( size_t ) ( 40 * 1024 ) ) 堆空间默认20*1024,太小网络任务无法运行但是不报错。
2024-01-05 14:12:55
473
原创 zynq vivado 工程修改FPGA 型号
FPGA 学习笔记:Vivado 工程更改FPGA 型号_vivado添加新的fpga型号-优快云博客
2023-12-28 16:07:05
1020
原创 zynq 导出canfd的测试工程
假设 CAN 时钟频率为 24MHz,波特率预分频寄存器 (BRPR) 和位定时寄存器 (BTR) 的设置使 CAN 波特率等于 40Kbps。有关更多信息,请参阅 CAN 2.0A、CAN 2.0B、ISO 11898-1 规范。假设 CAN 时钟为 24MHz,波特率预分频寄存器 (BRPR) 和位定时寄存器 (BTR) 的设置使 CAN 波特率等于 40Kbps。有关更多信息,请参阅 CAN 2.0A、CAN 2.0B、ISO 11898-1 规范。这里的示例显示了在中断模式下使用驱动程序/设备。
2023-12-26 11:15:13
881
原创 gd32 bin文件合并的方法
5单击“Target”菜单中的“Program & Verify”选项,以编程和验证芯片。选择APP.bin文件;2 File->open data file 打开刚才合并生成的bin文件。4单击“Target”菜单中的“Erase Chip”选项,以擦除芯片。6 单击“Target”菜单中的“Reset”选项,以重置芯片。1 首先利用keil文件分别生成iap和app的bin文件。使用JFlash软件,将2个BIN文件合并成一个BIN。3单击“Target”菜单中的“Connect”选项。
2023-12-09 14:16:06
576
原创 基于串口的ymodem的iap 一键式升级
app中 创建一个任务等待接收升级标志,如果接收到上位机通过串口发送过来的字符1 ,则将升级标志0x88,写入0x0803FFF4处,然后复位进入iap程序。串口升级参考上面这篇文章,实际场景是linux通过网络接收升级包,然后通过串口给gd32f450升级。iap代码,根据升级标志判断是否升级app程序。
2023-12-09 14:10:01
638
原创 gd32f450 freertos移植,iap教程
2 GD32F450+LAN8720A,#FreeRTOS_Plus_TCP 网络协议栈移植教程。2 修改案例中工程源码的flash读写的接口,匹配 gd32f450。3 基于串口ymodem的iap的程序升级主要参考以下这篇文章。【开源】串口YMODEM实现IAP程序升级(附工程源码)1 freertos移植主要参考以下这篇文章。1 iap程序要跑在没有移植系统之前的代码上。
2023-12-01 18:05:38
1133
1
原创 uefi下如何打开串口控制台,可以在串口下登录系统
2 主界面选择 Boot Maintenance Manager->Console Options->Console Output Device Select。1 进入uefi的bios的设置界面。3 将第一个和最后一个选项选中。
2023-11-09 10:24:45
397
1
PMON 下的 x86vga模拟器工作机制.docx
2020-11-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人