工作日志
文章平均质量分 71
xxccry
Linux嵌入式BSP
展开
-
Jetson - eMMC启动流程
Jetson - eMMC启动流程sdio扫描drivers/mmc/host/sdhci-tegra.cstatic int sdhci_tegra_probe(struct platform_device *pdev){ ... ... host = sdhci_pltfm_init(pdev, soc_data->pdata, sizeof(*tegra_host)); ... ...}drivers/mmc/原创 2022-10-03 09:21:24 · 388 阅读 · 0 评论 -
Linux - 网络lockup原因分析
Linux - 网络lockup原因分析原创 2022-10-03 09:21:59 · 1406 阅读 · 2 评论 -
Linux - 网络路由
Linux - 网络路由原理流程图判断逻辑重置路由配置文件 由于公司产品可同时支持4G/5G、WiFi、GigE等多路网络接口。实际使用环境,通常固定1路接入外网,而其余接口接入内网或设置静态IP(4G/5G只能接入外网)。Linux路由优先级默认eth>wlan>usb,如果4G接入外网,同时wifi和eth的路由无法连接外网,系统请求外网连接时,可能将数据包发送到eth或wifi导致连接失败。 因此需要设计路由守护服务,定制与维护系统的路由表。原理 详见linux路由策略和路由原创 2021-12-07 23:46:31 · 346 阅读 · 0 评论 -
Linux - 拨号上网
Linux - 拨号上网基础知识AT指令流程图配置文件 Linux自带移动网络拨号软件:ModemManager。但是工作中遇到使用的4G模块不在ModemManager支持列表中,需要设计拨号服务取代ModemManager。 USB接口(4G-USB2.0;5G-USB3.0)的移动网络模块,可以通过dev/ttyUSB*(option和usb_wwan驱动创建)端口与系统进行AT指令通信。基础知识AT指令 模块的AT指令一般分公有接口和私有接口(华为MH5000为例):流程图配原创 2021-12-07 23:25:08 · 1532 阅读 · 2 评论 -
CAN - spi扩展can方案
spi扩展can方案CPURXTX异常MCUGPIOSPI指令MemoryRegisters配置寄存器中断状态寄存器错误诊断寄存器fifo控制和状态寄存器filter配置和控制寄存器FIFOsRAM结构消息对象 mcu扩展can的优点:mcu可编程,灵活控制扩展的can数量和功能mcu通信最少只需要1路spi和1路gpio,占用cpu硬件资源少 参照mcp2517fd芯片,设计spi扩展8路can方案:CPURX 注:待处理的RX FIFO地址(编号)必须是连续的。TX异常原创 2021-12-05 23:42:58 · 1625 阅读 · 0 评论 -
出厂测试方案设计
出厂测试方案设计整体方案设计思路环境搭建版本关联组装环节烧录环节版本更新自动测试测试项外部存储类SD卡(作为外部存储)SSD(作为外部存储)USB2.0/3.0(连接外部存储)数据通信类RS232/422/485(包含spi转uart)以太网4GWIFICAN多媒体相机声卡其他外设GPIOFANLEDHDMI按键Notice整体方案设计思路 设备从生产到出厂的过程分为4个环节:组装生产->烧录系统->版本更新->自动测试。如图所示:组装模块:外壳与各模块的SN码与工作时间录入原创 2021-11-29 01:38:54 · 963 阅读 · 0 评论 -
WK2204 - spi转uart调试记录
WK2204-spi转uart调试记录硬件芯片简介电路设计驱动添加设备树添加驱动调试查看启动加载检查串口通信数据乱码或丢失RS485只能收不能发系统中断响应异常思考硬件芯片简介 WK2204(DataSheet)是spi扩展uart的芯片,实现spi扩展4路uart,该芯片扩展的uart通道的具备以下功能特点:每个通道的波特率、字长、校验格式可以独立设置,最高可以提供2Mbps 的通信速率每个通道具有收/发独立的256 级FIFO,FIFO 中断可按用户需求进行编程触发方式且具备超时中断功能原创 2021-11-29 01:06:22 · 7794 阅读 · 0 评论 -
Linux音频调试示例
Linux音频调试示例硬件设计设备树在i2c节点添加设备使能i2s总线添加dai_link修改pinmux驱动code驱动platform驱动machine驱动激活音频流播放录音问题定位声卡未识别录音/播放失败检查codec寄存器值检查音频流的trace硬件设计cpucodecperipheral interfacenvidia-jetsonmax9867line-in×1, hp×1 codec与cpu之间通过i2c读写寄存器,i2s传输音频信号(i2s总线简介)。原创 2021-11-25 17:06:56 · 2507 阅读 · 4 评论 -
Linux内核日志分级
Linux内核日志分级内核printk分级定义使用设置自定义printk分级定义接口使用设置内核printk分级定义 内核代码source/kernel_src/kernel/kernel-4.9/include/linux/kernel.h中,定义了控制台console的级别:#define CONSOLE_LOGLEVEL_SILENT 0 /* Mum's the word */#define CONSOLE_LOGLEVEL_MIN 1 /* Minimum loglevel原创 2021-11-20 23:44:25 · 337 阅读 · 0 评论 -
Linux内核/设备树version
Linux内核/设备树version背景内核版本ContentsKernelMakefileShow设备树版本DTSKernelVersionShow背景 Linux内核版本可以在/proc/version中查看。 但是设备树默认没有版本信息,虽然可以通过demsg查到编译时间。 在工作中,希望:内核版本中添加产品型号、硬件版本、内核定制版本等信息。设备树与内核的版本绑定,通过/proc/dtb查看。内核版本Contents● product_version:产品型号● har原创 2021-11-21 00:55:46 · 1119 阅读 · 0 评论