- 博客(23)
- 收藏
- 关注
原创 rk3568 openwrt镜像打包过程
压缩文件系到 ~/bin/targets/rockchip/armv8/openwrt-rockchip-armv8-firefly_station-p2-rootfs.tar.gz。创建文件夹 openwrt-rockchip-armv8-firefly_station-p2-ext4-sysupgrade.img.gz.boot。压缩文件系统 ~/bin/targets/rockchip/armv8/openwrt-rockchip-armv8-rootfs.cpio.gz。三个条件同时不能为空。
2024-08-04 16:35:52
859
原创 Linux C 输入输出重定向
Linux的标准输入、标准输出、标准错误默认使用的fd是0、1、2。所谓重定向输入输出,就是更换0、1、2所在的设备为你所需要的设备。在启动一个新进程的时候,会默认将0、1、2默认设置为虚拟终端/dev/pts/*,这时使用C语言的printf等会将值打印到当前命令行.
2022-11-21 11:41:52
1132
原创 vscode设置remote-ssh并免密登录
1. 在vscode中安装remote-ssh插件直接在vscode中搜索remote-ssh即可安装安装完成以后是这样:2. 使用remote-ssh远程登录ssh按照下图标记依次点击1、2、3,就会出现remote-ssh编辑界面,用来输出要远程登录的ssh这就是远程ssh信息的编辑界面:Host是这个ssh信息在你本地的显示内容HostName是你的远程ssh的ip信息User是你的远程ssh的用户名,如果远程是Linux系统的话,这个就是你登录Linux的用户名输入完成保
2021-03-18 16:45:22
53736
10
原创 lpc54608CAN标准帧滤波配置
1. 寄存器配置1.1 Global filter configuration register GFC设置滤波配置首先要设置全局滤波器配置,当前配置的是标准帧滤波,所以仅需要配置标准帧的部分:RRFS [1]:1 表示拒绝所有11位ID的遥控帧。ANFS [4:5]:2 表示拒绝所有不匹配的标识符。1.2 Standard ID filter configuration register SIDFC设置标准帧的滤波表配置:FLSSA [15:2]:设置标准帧滤波表位置相对于Messag
2021-03-02 15:58:16
1087
原创 下载适合版本的Linux和uboot源码
在学Imx6uLL的芯片的Linux时候,在想尝试移植高版本的Linux内核时,一直苦于找不到下载的地方,或者下载的内核版本不对,根本不适合移植。今天突然找到一种下载NXP原厂修改的高版本Linux和uboot源码的地方,特地记录一下。uboot先从uboot下载开始说起,首先是uboot下载地址,可以点击此处访问uboot。当进入网站以后会看到如下图片:首先下载uboot整个源码在此网站的左下角可以看到一个clone,后面是一个下载源码的网址:在想要保存源码的地方右键打开git的命令行,然后输
2020-08-18 14:49:33
1340
2
原创 RTThread从底层AT组件到上层SAL之间的关系
RTThread嵌入式系统有着丰富的网络组件,虽然官方提供的文档也很详细,但是各个组件之间的耦关系并不是很明确,这就对于我这种初学者有了很大的难度。这两天我从开始学习设备驱动UART设备->基于UART设备的AT组件->基于AT组件的AT设备和AT Socket->netdev网卡层->SAL套接字抽象层。经过这几天不断的学习,终于简单的弄明白了,它们之间的耦合关系。好记性...
2020-04-25 15:07:45
3934
原创 rtthread scons添加源码和路径到mdk5工程
我们做单片机时候,经常使用rtthread操作系统,这就免不了使用scons构建工具,当我们在application文件夹下添加我们自己写的文件时,在mdk工程下需要手动的添加源码和头文件,但是既然使用scons构建工具了,我们可以理所应当的使用scons构建工程时,顺便将我们自己新建的源码和路径添加到工程呀,官方的关于此文档说明有点难懂,所以自己琢磨这个琢磨了一下午,终于找到了添加源码和路径的方...
2020-04-09 16:58:25
1746
原创 C语言 指针变量本质
C语言指针是一个经常使用的变量,可是经常在二级指针三级指针中搞混,指针的本质就是一个int型的变量,只不过这个变量是内存块的地址,通过在这个变量前面加星号可以间接的访问这个内存块的内容。通过下面的示例可以清晰的明白指针的本质,#include <stdio.h>typedef struct { int age; char name[110];}teracher;int ...
2020-04-03 22:04:32
439
原创 C语言返回的变量当左值使用
在C语言中,一般返回的变量是不能仿作左值使用的,比如int main(int argc, char **argv){ int a = 10, b = 20; a > b ? a : b = 50; printf("a = %d b = %d\r\n",a,b); return 0;}这样在编译的时候编译器会报错处理,因为a>b?a:b返回的是20,不能将50赋值给...
2020-04-02 21:43:59
567
原创 Linux struct device设备结构体
这篇是我学习时遇见的struct device内容的集合,记录着所学时对此结构体的理解,内容不完善,会不断更新在学习Linux设备驱动时,经常遇见的是就是struct device结构体,他是保存设备基本信息的结构体。几乎在所有的驱动中都会遇见,意思就是他是驱动的设备结构体,所有的各种类型的结构体都继承他。在include/linux/device.h的723行有定义,其内容如下:struct...
2020-03-27 17:36:14
9027
原创 Linux SPi总线使用
1. 简介SPI总线是很常用的总线类型,有好多设备的数据接口都采用了SPI总线,比如ICM20608加速度陀螺仪传感器。在Linux中,SPI设备是采用了Linux惯用的设备模型:driver->bus->device,此总线类型是SPI总线,driver就是我们针对某一SPI设备所编写的设备驱动,使用bus给我们提供的SPI总线操控函数,然后根据SPI设备信息来编写SPI设备驱动。...
2020-03-22 15:41:16
3120
原创 Linux spi_message中怎样通过transfer变量来确定spi_transfer结构体的
在Linux 的spi_message结构体变量中,怎样通过transfers节点来访问spi_transfer结构体变量。
2020-03-22 13:50:27
2601
原创 linux vscode一个字体对应一个空格
有时候在Ubuntu中下载vscode,打开时输入内容时,感觉字体很怪,发现tab长度只有两个字符的大小,这时问题应该是一个字体对应一个空格的问题,查找了一个,找到了解决办法:在红色圈起来的地方,按照上面输入就可以。...
2020-03-19 13:24:05
641
原创 linux dos2unix
有时候我们需要在网上下载代码,经常使用Windows桌面来下载,但是Windows下载的代码文本是dos格式,而在linux环境下比如Ubuntu,是unix文本格式。如果直接编译会出现一大堆不能识别代码的错误。错误如下:......'est/env/Kconfig:2:warning: ignoring unsupported character ''est/env/Kconfig:3:...
2020-03-18 21:46:38
883
原创 linux 安装vscode
vscode是一个很好用的代码预览、编辑IED,在Ubuntu下安装vscode,使用如下命令,直接安装。sudo dpkg -i code_1.43.0-1583783132_amd64.deb 卸载命令:sudo dpkg -r code安装的文件图标都在/usr/share/applications/下,可以拷贝到桌面上,简单明了。vscode有很多有用的插件,可以适当安装:...
2020-03-18 21:01:57
774
原创 linux gcc交叉编译器的安装
在Ubuntu环境中,进行ARM嵌入式开发时,Ubuntu自带的x86gcc编译器编译出来的程序不能在ARM芯片上运行,我们需要安装一个交叉编译器gcc,是得编译出来的软件运行在ARM芯片中1. 下载gcc编译器我学习使用的gcc交叉编译器下载地址(点此下载)是这个https://www.linaro.org/downloads/,点进去,向下滑动页面,可以看到:这是一个开源的符合GUN标...
2020-03-18 17:54:29
1570
原创 linux ftp服务安装
linux系统和外界互传文件可以使用ftp协议,可以安装一个ftp服务软件:sudo apt-get install vsftpd安装完成以后需要配置一下ftpsudo vi /etc/vsftpd.conf在文件的28/31行local_enable=YESwrite_enable=YES将上面两行前面的‘#’删除,表示取消注释保存退出修改完成以后,重启ftpsudo /...
2020-03-18 14:16:32
93
原创 linux vim显示行号
新安装的Ubuntu一般是没有vim编辑器的。但是有时候临时需要快速查看代码,但是自带的vi 编辑器又不好用,就可以手动的装一个vim编辑器、输入下一命令安装:sudo apt-get install vim安装好以后有时候需要显示行号,进行一下设置:切记在etc文件夹下一切操作都带上sudo,不然会有意想不到的错误sudo vi /etc/vim/vimrc进入以后再第一行插入se...
2020-03-18 14:09:01
222
原创 linux module_xxx_driver宏定义
module宏定义在linux驱动中,一般每个模块该函数都需要加载,通常加载步骤是:static int __init xxx_init(void){ ....../* 模块各种初始化内容*/ return 0;}static void __exit xxx_exit(void){ ....../* 模块卸载时需要的东西*/}module_init(xxx_init);m...
2020-03-16 22:31:24
2265
2
原创 linux I2C总线的使用
@[TOC]# linux I2C总线的使用欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博...
2020-03-13 23:25:56
255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人