- 博客(27)
- 收藏
- 关注
原创 git使用
git创建一个空仓库git initgit add .git commit -a -m “内容”1.先在本地创建一个分支git branch lijianbin2.查看工作目录和暂存区的差别git diff3.切换到新建的分支git checkout lijianbin4.将暂存区的修改提交到新建的分支git commit -a -m “内容信息”git add 《file》增加文件git rm 《file》 删除文件git checkout – .撤销当前目录所有修改同一个
2022-05-16 15:29:41 166
原创 嵌入式串行通信方式基础概念
嵌入式串行通信方式基础概念写这篇文章的目的在日常工作中,经常被问到一些串口问题,由于对基础概念掌握的不够,经常会被问蒙,所以总结一下,随便借机会整理一下思路。问题:串口收发乱码是怎么回事?问题:usb转串口无法收发数据?问题:485收发有概率出现错位问题:怎么扩展串口?问题:问题:问题:问题:问题:...
2022-05-11 11:09:57 1357
原创 看门狗是触发时,系统是怎么知道并且重启的?
实验板子:飞凌FET335xD操作系统:linux3.2看门狗是触发时,系统是怎么知道并且重启的?1. 首先看一下cpu手册,关于复位寄存器的描述其中bit(4)是看门狗的复位;bit(5)是外部的复位,即开发版的rst复位键当看门狗触发时,会产生一个全局热复位的信号,并把PRM_RSTST的bit4置12. 再看一下cpu手册,关于看门狗的相关描述从上图可以知道溢出/复位的一代看门狗定时器寄存器(WDT_WCRR)溢出时,给PRCM模块产生一个active-low复位脉冲。该RESE
2022-05-06 10:29:24 1647
原创 以太网结构框架的学习
计算机网络体系结构这个就是经典书籍,《计算机网络》的内容Linux系统对网络设备驱动定义了4个层次, 这4个层次为网络协议接口层、 网络设备接口层、 提供实际功能的设备驱动功能层和网络设备与媒介层。数据链路层:以太网协议网络层主要使用协议:网际协议(IP)、互联网组管理协议(IGMP)、互联网控制报文协议(ICMP)传输层:传输控制协议(TCP)、用户数据报协议(UDP)应用层:ftp,ssh,telnet以太网结构框架如下以太网电路的基本构成上图中DMA集成在CPU而CPU,
2022-04-20 18:24:38 4527
原创 Arm模拟U盘
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubiArm模拟U盘内核配置:cp arch/arm/configs/ok335xd_evm_linux_defconfig .configmake menuconfig找到如上回车找到如上输入M,配置File-backed Storage Gadget (DEPRECATED)为M一直退出Exit,然后yes回车保存然
2022-04-20 17:57:20 1443 2
原创 Uboot启动流程
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubiUboot启动流程理清 uboot 是如何启动的。通过对 uboot 启动流程的梳理,我们就可以掌握一些外设是在哪里被初始化的,这样当我们需要修改这些外设驱动的时候就会心里有数以335xd所使用的uboot为例,使用的uboot版本为2011-09从./ok335x/u-boot.lds可以知道,程序入口为_start入口函
2022-04-20 17:52:47 1388
原创 devmem命令直接操作寄存器
可以使用denmem这个命令来直接操作寄存器找到sdio用到的数据引脚,mmc0_dat0,其中控制寄存器映射地址是 0x44E1_0000,改引脚的偏移地址为8FCh1.首先读0x44E108FC,值为30,说明默认是mmc0_dat0功能2.然后写入0x37,也返回了写入成功3.再次读就变回原来的值第一反应是去ti论坛找找是否有相关的帖子,果然是有这个问题:https://e2echina.ti.com/support/processors/f/processors-forum/20
2022-04-20 17:40:41 1353
原创 Qt旋转显示
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi335x开发板Linux系统QT-Demo桌面旋转90°的修改方法:1、进入文件系统的/etc/init.d/目录。2、打开qt.sh文件。3、大概第59行将 export QWS_DISPLAY=LinuxFb:/dev/fb0修改为export QWS_DISPLAY=Transformed:Rot90:LinuxFb:/
2022-04-19 18:05:08 711
原创 QT应用显示汉字
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi问题现象:解决方法1:在命令行直接指定字体库./qt应用 -qws -font unifont解决方法2:在qt代码中指定然后保证/forlinx/qt/lib/fonts目录下有对应的汉字库结果:...
2022-04-19 18:02:25 895
原创 4G物联网卡配置
4G模块配置物联网卡开发过程中通常使用较多的4G模块有 ME909s-821 和 EC20 两款模组。什么是AT指令海斯命令集(Hayes command set),又称AT命令集(AT command set),原本是为了海斯智能300调制解调器所开发的一种命令语言。这些命令集是由许多短的字符串组成长的命令,用于代表拨号、挂号以及改变通信参数的动作。大部分的调制解调器都跟随海斯命令集所制定的规则。海斯指令可以被区分为四个组群:基本指令集:一个大写字符跟着一个数值,例如:ME909指令
2022-04-19 17:54:57 2726
原创 使用udev固定4G模块的节点
可以通过udev固定ec20名称具体方法:1.先使用udevadm查看4G模块的相关信息udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0)2.找到唯一的匹配条件ATTRS{idVendor}“2c7c”ATTRS{idProduct}“0125”(这里匹配条件比较多,选出有用的几条就行)3.在/etc/udev/rules.d/local.rules末尾,添加以下命令SUBSYSTEM==“net”,ATTRS{idVend
2022-04-19 17:47:13 387
原创 RTC时间不能往前调
问题来源在工作中同事在使用RTC接口时,发现了一个奇怪但又很有意思的问题linux中使用date设置时间后用hwclock -w同步到RTC,重启后,时间不能往前设置在使用的时候发现/etc中有一个timestamp,删除就能设置时间;但是我这边测试一直没有复现同事说的问题,一直没有出现时间戳文件;出现时间戳之后,也能往前设置时间。原因分析1.timestamp时间戳文件怎么生成的,他的作用是什么?时间戳表示unix当初订立的时间,简单用 1970-1-1 , 0:00:00 到现在经过的
2022-04-18 18:30:50 365
原创 335x系列-解决爆破音导致的调用延迟问题
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi问题:当按照应用笔记中的patch修改了内核,爆破音问题的确解决了,但是发现声音的输出有400ms的延时。想象:每次上电第一次放音会有延时,5s内连续放音没有延时,停5s以上就会出现延时应用笔记中的patchdiff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codec
2022-04-18 18:15:14 257
原创 335x系列平台-ADC接口配置和最大采样速率
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi1.ADC配置335x的cpu支持8个的ADC通道AIN0-AIN7335xd平台,默认AIN0-AIN3用作电阻触摸屏,AIN4-AIN7直接引出修改板级文件arch/arm/mach-omap2/board-am335xevm-xd.c添加配置和初始化2.用户空间的调用配置完成后,在/sys/bus/iio/devi
2022-04-18 17:59:03 1582
原创 nand减少位翻转导致的问题解决方案
问题解决解决这类问题, 系统层面可从两个方面入手:分区域保护和双备份或者可以新建分区,将重要数据放入独立的分区一,双备份目前335x已经对uboot镜像镜像了备份,分区情况如下:mtd0: 0 00200000 "SPL" 存放MLOmtd1: 00200000 00400000 "SPL.backup1" 存放MLO的备份mtd2: 00400000 00600000 "SPL.backup2" 存放uboot.img的备份mtd3: 00600000 00800000 "SPL.bac
2022-04-18 17:46:38 667
原创 一个8G的容量的sd卡,为什么插入电脑后,显示不到8G?
很多人有这样的一个疑问,一个8G的容量的sd卡,为什么插入电脑后,显示不到8G?难道是被骗了,买到假卡了?想弄懂这个问题首先,我们要先了解一下计算机最小的数据单位:位(bit)只能表示0或者1一个字节:8个二进制位构成一个 字节(Byte)换算关系:8bit=1Byte数据存储是以“字节”(Byte)为单位,数据传输大多是以“位”(bit,又名“比特”)为单位K一般表示1000,比如1000米可以表示成1Km;但在计算机中,1000Byte不等于1KByte,而是1024Byte=1KBy
2022-04-15 15:13:56 808
原创 spi能生成节点,但是没有数据收发不正常,没有数据
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi问题现象能生成spidev设备节点,示波器量数据线D0和D1没有波形问题排查1.首先,飞凌的源码默认是sip转can,需要根据手册修改成spi模式,发现还是不通2.排查配置过程,这里说明讲一下spidev的注册过程1) 先配置引脚/* Module pin mux for SPI flash */static struct
2022-04-14 18:23:16 1494
原创 335x系列平台-usb的模式切换HOST和OTG
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi335xd平台,默认usb0用作OTG,usb1用作HOST修改时只需要修改mode模式,低四位控制usb0的模式,高四位控制usb1的模式例如配置两路usb都用做usb_host...
2022-04-14 18:06:33 927
原创 335x系列平台-pwm接口配置和注意事项
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi1.基础知识335x的CPU有pwm的控制器PWMSS其中支持三种模式分别是eHRPWM、eCAP、eQEP,对应增强型脉冲宽度调制器、增强型捕捉模块、正交解码单元。下面以在335xd平台配置成4路普通pwm模式为例驱动在代码中使用配置好,只需要复用引脚和配置使用即可修改文件内核文件:arch/arm/mach-omap2/b
2022-04-14 18:03:33 2105 1
原创 linux中通过控制寄存器直接控制gpio的电平
实验板子:飞凌FET335xDuboot版本:2011.09linux内核版本:linux3.2cpu:Ti的3354操作系统:linux3.2文件系统:ubi前言初学嵌入式linux时,总是从控制一个gpio学起,使用linux内核封装好的函数,就能控制gpio了,非常方便。如下: #define GPIO3_1 3<<5|1 gpio_request(GPIO3_1,"gpio3_1"); /*申请一个gpio*/ gpio_direction_output(GPI
2022-04-11 15:10:45 2517
原创 335x系列平台-uart波特率的一些注意事项
实验板子:飞凌FET335xDuboot版本:2011.09cpu:Ti的3354系统:linux3.2文件系统:ubi问题来源:在使用qt应用进行串口测试,发现波特率高于115200之后会乱码。1.先复现问题电脑使用的串口助手是 sscom32.exe,qt应用和串口助手分别在9600,115200,128000和256000波特率,测试发现115200以上,的确乱码,问题复现。但是都是有规律的乱码。2.查看波形是否正确发送一个字母a,波形如下以上是115200和256000
2022-04-11 11:51:00 1240 1
原创 增加uart串口的方法
实验板子:飞凌FET335xDlinux内核版本:linux3.2cpu:Ti的3354系统:linux3.2文件系统:ubi通过查阅 CPU 手册, 335 平台可以最多复用出 6 路串口, UART0 – UART5。本次以复用 UART5 为例,讲解如何在 335 xd平台添加串口设备。查阅 Sitara AM335x ARM Cortex-A8 Microprocessors (MPUs) (Rev. F)手册,查看该手册中球特性的内容,该部分列举了 CPU 各球号对应的复用功能,搜
2022-04-11 10:44:25 739
原创 uboot阶段去掉调试串口
实验板子:飞凌FET335xDuboot版本:2011.09cpu:Ti的3354系统:linux3.2文件系统:ubi具体修改如下--- a/drivers/serial/serial.c+++ b/drivers/serial/serial.c@@ -195,6 +195,9 @@ int serial_init (void) void _serial_putc(const char c,const int port) {+#ifdef CONFIG_NO_INFO_CONSOL
2022-04-11 09:28:37 847
原创 uboot更换调试串口,将源串口改成正常uart
实验板子:飞凌FET335xDuboot版本:2011.09cpu:Ti的3354主要涉及文件:arch/arm/include/asm/arch-ti81xx/cpu.hboard/forlinx/ok335x/evm.cboard/forlinx/ok335x/mux.cboard/forlinx/ok335x/pll.cboards.cfg b/boards.cfginclude/configs/ok335xs2_nand256_ddr128.h具体修改内容:diff -
2022-04-11 09:24:42 1075
原创 嵌入式工作中常用到的一些命令
本文主要举例一些在嵌入式工作中常用到的一些命令,包括linux、ubuntu、开发版中常用命令1.linux常用命令===常用指令=clear 清屏pwd 常看当前目录 cd 转移目录rm 删除文件 ps查看进程cat 显示文件内容 kill杀死进程ls 查看当前目录下的文件切换目录1.命令: cd /后加需要切换的目录2.cd … 返回当前目录的上一层3.cd ~ 跳转到home directory目录查看目录1.ls -a 显示全部文件,包含隐藏
2022-04-11 09:06:10 5808 1
原创 Linux 命令的执行过程
Linux 命令的执行过程分为如下 4 个步骤1.判断路径判断用户是否以绝对路径或相对路径的方式输入命令,是直接执行,否进行第二步2.检查别名我们知道Linux 系统通过 alias 命令是可以给现有命令自定义别名的其中,我们可以收到查询一个命令是否有别名root@ubuntu:~# alias rmbash: alias: rm: not found //rm 不是别名roo...
2020-01-07 15:20:03 508
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人