- 博客(14)
- 资源 (35)
- 收藏
- 关注
原创 嵌入式Linux板卡串口收发统计计数信息查看
>proc_tty_register_driver,这里注册了INGENIC serial的节点。->uart_register_driver,这里会注册uart_ops,故可执行。执行:cat /proc/tty/driver/INGENIC\ serial。内核代码在 drivers/tty/serial/serial_core.c。linux查看串口收发字节统计计数。运行操作系统:Linux5.10。调试环境:Ubuntu18。CPU:君正M300。
2025-06-15 21:33:48
278
原创 M300 Linux4.4.94使用ifconfig -a看不到eth
修改kernel/driver/net/ethernet/ingenic/ingenic_mac.c的ingenic_mac_probe(struct platform_device *pdev)函数。内核烧录进M300后,使用ifconfig -a 看不到eth设备。运行操作系统:Linux4.4.94。调试环境:Ubuntu14.06。将第2809行至第2815行去掉。将第2812行至第2813行去掉。CPU:君正M300。
2025-06-15 21:30:24
241
原创 lrzsz交叉编译
5.将_install/bin里的文件考到nfs-rootfs目录的/usr/bin目录下。这里./configure一定要放到CC的后面,否则无法识别交叉编译。1.解压lrzsz-0.12.20.tar.gz。2.设置交叉编译环境。
2025-06-15 21:28:15
213
原创 Linux板卡cat时串口输出一堆空白
在调试串口功能时常用的手法就是短接串口的RX和TX,然后在终端直接cat与echo,以ttyS1为例。这个时个只需要设置关闭回显就可以了。这个时候串口会输出一堆回车。
2025-06-15 21:25:42
140
原创 8521phy芯片读取收包统计计数
时,表示发完了设置的包个数。应用说明,以下寄存器地址无特殊说明均指。应用说明,以下寄存器地址无特殊说明均指。收到的正确包的数量,寄存器为。收到的正确包的数量,寄存器为。收到的正确包的数量,寄存器为。收到的正确包的数量,寄存器为。和8521datasheet。地址,不用时可以不设置。来源于8521应用手册。包生成器和收发包统计。,不用时可以不设置。包生成器和收发包统计。
2025-06-15 21:21:28
316
原创 Linux nandflash的mtd字符驱动bch调试分析(3)
关闭硬件ECC方法在datasheet中的12.1 Get Features (0FH) and Set Features (1FH)有说明。要关闭硬件ECC将feature Addr 0xB0H 的bit4设置为0。将ingenic_sfc_nand_dev_init函数里的第631行。上一篇分析了产生错误的原因,本文将讲解如何关闭硬件ECC。运行操作系统:Linux5.10.180。调试环境:Ubuntu18.04.6。调试模块:nandflash。CPU:君正M300。
2025-06-15 21:14:50
141
原创 Linux nandflash的mtd字符驱动bch调试分析(2)
查看GD5F4GQ6的datasheet,硬件已经上电默认打开了ECC校验,无需软件进行BCH ECC计算后写oob的操作,如需软件操作,需要关闭硬件ECC,在没有关闭硬件的ECC时,程序写入数据和软件BCH ECC到oob后,去读数据或ECC的时候内核会有-77的错误,经过调试,在内核代码中关闭硬件ECC后,再做相同的操作不会有-77的错误。deal_ecc_status就是gd_nand.c里面的deal_ecc_status,这个函数就是去解析表12-3,这里解析到错误了就返回了-77。
2025-06-15 21:06:28
661
原创 Linux nandflash的mtd字符驱动bch调试分析(1)
使用内核的/lib/bch.c来做nandflash的ecc校验并纠正,前2个bit错误时可以校验并纠正,但是随机的人为弄错4bit就无法纠正了,在网上查找说是有小小的语法错误。bch的算法这里不多做解释和说明,网上很多,这里不做过多解释,bch.c bitrev.c等相关的BCH ECC校验算法来源于内核源码kernel/lib/bch.c。本调试方法是使用nandflash的mtd字符驱动,对flash进行不带文件系统的读写方式并测试flash的ecc码,使用bch算法计算纠错码并存储到flash。
2025-06-15 20:57:44
158
原创 ubifs挂载方法
dev/ubi4是设备名,查看上一步红色字体,如果是ubi0,那这里就是/dev/ubi0,如果是ubi1,那这里就是/dev/ubi1,不同的分区数值不一样,会随着ubi建立连接分区的数量增加。ubiattach /dev/ubi_ctrl -m 4 # mtdblock4与ubi建立连接。ubidetach /dev/ubi_ctrl -m 4 # mtdblock4与ubi解除连接。3.挂载UBI卷,挂载对应的/dev/ubi_x,而非/dev/mtd*ubix需以实际为准。
2025-06-04 20:12:56
600
原创 龙芯2K1000的DDR从64bit改为32bit
定义了option DDR_S1=0xc1a18404,则直接在ls2k配置中修改,如果没有定义,则在。2、根据内存颗粒的配置修改 Targets/LS2K/ls2k/start.S 中的 s1 值。1、注释掉(#为注释) Targets/LS2K/conf/ls2k 中的内存条选项。依据上文介绍,将第27bit置1,同时将[14:8]定义的值修改为实际的一半。为测试使用,DDR从64bit改为32bit,从PMON修改。在本例中,将64bit改为32bit主要修改如下。在本例中,ls2k中定义如下。
2025-05-07 20:14:35
278
原创 Linux下的多线程编程
<br />1 引言<br /> 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。<br /> 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题。<br /
2010-06-29 10:57:00
274
1
LINUX常见问题1000个详细解答
2009-11-23
ARM7 Boot过程详解
2009-12-02
ARM嵌入式系统 C语言编程
2009-12-02
WinCE_BSP包.rar
2010-04-01
C语言实战105例 含105个源代码
2010-05-20
UNIX网络编程 卷2:进程间通信
2017-10-19
TCP_IP Sockets编程C语言实现第2版
2017-10-19
详细介绍了分形理论有关理论和相关知识
2009-12-30
TCPIP入门经典第5版
2017-10-19
Linux零基础初级教程
2009-11-23
UNIX初级教程(完整书签版)
2017-10-19
【嵌入式系统开发】EJTAG调试接口PMON烧录流程及配置:芯片编程与验证方法详解
2025-04-25
QT5.X多点触控使用双手指缩放图片源码
2020-04-23
交叉编译bluez-5.47所需各种源代码
2019-09-16
RTL8723BU芯片的 WIFI 和 蓝牙的 Linux 驱动源码,在Linux4.1.15上已调试通过
2019-09-12
串口蓝牙模块HM-10/HM-11模块开发资料
2019-12-23
编译bluez所需源代码
2019-09-18
华为ME909S-821模块Linux内核驱动集成指导,andriod 库,及AT中文手册
2019-07-19
RTL8188E的Linux驱动源码+移植调试步骤记录文档
2019-12-19
QT5.X版本的多个手指同时划线源码
2020-04-23
flexbuilder_linux_install_a5_112409.bin
2019-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人