随笔分类 -  linux操作层面

linux相关 
浅谈CMakeLists.txt 增加软件版本信息(很方便)
摘要:1. 从一个CMakeLists.txt下手,如下:include_directories (${CMAKE_CURRENT_BINARY_DIR}) 应该放在最后,但是在引用lib前。 # @warning here : add the variables we need and set vers 阅读全文
posted @ 2022-12-15 15:41 real-watson 阅读(290) 评论(0) 推荐(0) 编辑
待开源logser
摘要:1. 何为logser,logser作为一个log服务器的处理集体,嵌入在多进程通讯,通过多进程通讯的各种手段,例如管道、套接字、共享内存和消息队列等等,实现日志的接收处理。 2. logser定位linux系统下的application,提供一种便携式移植log系统的机制,只要是linux系统,无 阅读全文
posted @ 2022-11-01 16:35 real-watson 阅读(26) 评论(0) 推荐(0) 编辑
地表最强git的实战
摘要:一.、几年嵌入式linux经验总结的git常用开发命令,保准快准狠。 1. git log,时刻不要忘记来一个git log。 2. git status 查看现在文件的状态。 3. git diff 查看改动细节,常用git diff . 或者git diff filename。 4. git a 阅读全文
posted @ 2022-10-22 09:49 real-watson 阅读(50) 评论(0) 推荐(0) 编辑
fb的驱动实现
摘要:本博客目的是熟悉fb的原理和驱动实现,只有模仿才有行动。 1. 框架图 此处省略10000字........ 2. 设备树 3. 驱动代码 a 配置这个结构体fbtft_device_display b 在编译kernel需要加入FB的CONFIG 4. 点亮 echo !!!!! > /dev/f 阅读全文
posted @ 2022-08-05 16:50 real-watson 阅读(436) 评论(0) 推荐(0) 编辑
聊聊开发和设计的一些话题
摘要:本次blog只讲8个事情,主要包括内核、进程、规范等话题。 1. kernel编译ko kernel如何去编译一个.ko文件? 请看如下的Makefile obj-m:=helloworld.o mymodule-objs:=module KDIR?= default: make -C $(KDIR 阅读全文
posted @ 2022-05-25 14:38 real-watson 阅读(81) 评论(0) 推荐(0) 编辑
结构体和指针
摘要:1. 结构体地址: #include <stdio.h> #include <stdlib.h> #include <string.h> struct son { int money; }; struct dah { int money; }; struct father { struct son 阅读全文
posted @ 2022-05-12 18:22 real-watson 阅读(43) 评论(0) 推荐(0) 编辑
深入分析链表实现队列流程(看图)
摘要: 阅读全文
posted @ 2022-05-09 15:15 real-watson 阅读(21) 评论(0) 推荐(0) 编辑
rockchip 增加uartx的实现
摘要:一、 谈谈驱动实现。(说的轻松) 针对uart,首先想到是驱动程序的实现,什么uart_driver,uart_port和uart_ops,都是一堆初始化的结构体,研究kernel driver的代码: 得到如下的基本流程实现driver: 1. 针对uart_driver,实现uart_regis 阅读全文
posted @ 2022-04-01 11:15 real-watson 阅读(135) 评论(0) 推荐(0) 编辑
浅谈systemd原理和应用
摘要:多不说,直接上代码(可谓配置): [Unit] Description=demo app After=network-is-online.target [Service] Type=Simple ExecStart=/usr/bin/demo [Install] WantedBy=multi-use 阅读全文
posted @ 2022-03-27 10:42 real-watson 阅读(445) 评论(0) 推荐(0) 编辑
ioctl以及read阻塞型引发的思考
摘要:1. 尝试strace 或 jstack 去追踪程序,发现某一个进程作为socket连接server出现如下的log(strace追踪): 1. ioctl(45,[0],0) = 0 2. ........ 3. ioctl(45,[12],0) = 12 ioctl作为用户态和内核态的数据交互, 阅读全文
posted @ 2021-12-10 14:18 real-watson 阅读(650) 评论(0) 推荐(0) 编辑
浅谈spin lock 与信号量
摘要:理解阻塞和非阻塞概念: eg: open->read->close eg: open->while(read)->close read -> data received/receiving spin lock:(from baidu) 是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线 阅读全文
posted @ 2021-11-29 16:45 real-watson 阅读(71) 评论(0) 推荐(0) 编辑
一种基于USB转串口的设备如何赋予权限
摘要:1. 利用open打开USB转串口的设备遇到打开异常。 若用vs调试代码,则需要usermod 对应归到watson组下,因为watson这个是vs ssh连接虚拟机的用户名,若用root则无法使用改串口。 阅读全文
posted @ 2021-03-17 09:45 real-watson 阅读(99) 评论(0) 推荐(0) 编辑
两个基本问题了解哈希表
摘要:1. 什么是哈希表 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 摘于百度百科 通俗可以理解: 如何把13 18 阅读全文
posted @ 2021-02-24 10:49 real-watson 阅读(86) 评论(0) 推荐(0) 编辑
如何使用docker制作开发集成环境
摘要:1. 编写最基本的Dockerfile 内容:touch 一个Dockerfile FROM ubuntu 2. 创建基本的docker镜像 docker build -t ubuntu:v1 . 3. 运行docker镜像,按照流程创建新的镜像。 简易过程: docker run -it --na 阅读全文
posted @ 2020-12-28 16:56 real-watson 阅读(234) 评论(0) 推荐(0) 编辑
如何移植sshserver到嵌入式平台
摘要:ssh解释说明 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露 阅读全文
posted @ 2020-12-28 16:48 real-watson 阅读(606) 评论(0) 推荐(0) 编辑
如何移植sqlite3到嵌入式平台
摘要:本人也时常看其他人的blog,搜索资料的目的是尽快解决当前的问题,例如如何移植一个ssh,尽快要明白所需的东西,方能移植完成。 移植sqlite3的步骤如下: 1. 到官方网站下载指定的源码包:https://www.sqlite.org/2020/sqlite-autoconf-3340000.t 阅读全文
posted @ 2020-12-28 16:14 real-watson 阅读(466) 评论(0) 推荐(0) 编辑
如何巧妙使用vim处理文件
摘要:一系列流程书写如何用vim巧妙处理文件 1. 创建两个待处理的文件 root@ubuntu:/home/watson/real-watson# touch left right 2. 简单增补文件内容如下 root@ubuntu:/home/watson/real-watson# ls left r 阅读全文
posted @ 2020-12-28 15:52 real-watson 阅读(171) 评论(0) 推荐(0) 编辑

 

点击右上角即可分享
微信分享提示