嵌入式
Evan_Wang1
从事嵌入式软件开发,开发中用到STM32,hi3536等芯片;热衷于嵌入式linux技术
展开
-
RTT实现串口打印
在做一个关于STM32项目时候发现串口资源缺少,就发现了通过Jlink工具里面自带的RTT可以实现串口输出打印,实现调试的功能,节约一个串口资源。1.在J-falsh安装的目录下面有关于RTT的文件(源文件和头文件)2.把源文件加入自己的工程中。3.在要用的文件中包含RTT的头文件。就可以调用RTT的printf函数就行数据的输出。4.打开Jlink_Reviewer的软件,就可以看见打印的信息,...原创 2021-11-10 14:25:15 · 8272 阅读 · 0 评论 -
BootLoader(U-Boot)启动过程记录
BootLoader(U-Boot)启动过程记录定义Bootloader终极目的是引导内核,加载内核到内存然后跳转到内核的地方执行,在加载之前也会做一些硬件的初始化等等操作。启动模式分为两种:启动加载模式(产品形式,自启动),下载模式(开发模式,适用于开发人员调试使用);以下记录都是以U-Boot为例。源码下载地址ftp://ftp.denx.de/pub/u-boot/启动分析本次记录是以hi3536启动流程为例进行的。概述U-Boot启动分析我大致分为两个阶段:汇编代码阶段,C语言阶段原创 2021-11-10 14:22:12 · 5155 阅读 · 0 评论 -
Linux串口特殊字符处理问题
一、问题描述 在嵌入式linux系统中通过串口收发数据,特殊字符如0x03,0x00等导致接收数据截断等现象。二、原因分析 1、在对串口进行配置的时候 struct termios 结构体参数设置问题,特殊字符在串口驱动内部做了处理,导致应用层接收不到数据 2、或则是在应用层接收数据后,数据拷贝出现的问题,如果使用C++语言,通过赋值拷贝遇到结束符(0x00)结束拷贝,导致数据截断三、解决方法1、修改文件描述符fd相关的结构体struct term...原创 2021-05-06 11:42:05 · 5298 阅读 · 0 评论 -
A40i nfs挂载问题
背景:使用A40i的过程中,使用全志提供的源码没有办法挂载nfs(network file system),对开发效率有影响。原因:1、内核不支持nfs2、在编译buildroot的时候没有工具支持nfs3、挂载的网络目录必须有相应的权限以上的几点需要同时支持才能通过mount挂载nfs。注:保证开发板与要挂载的服务器网络的通畅,如果有问题需要配置网络。解决方案:kernel添加nfs支持,编译到内核中进入kernel源码,执行make menconfig命.原创 2020-11-11 11:37:44 · 3509 阅读 · 0 评论