摘要: 多不说,直接上代码(可谓配置): [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 阅读(433) 评论(0) 推荐(0) 编辑
 

摘要: app.c 和 main.c 之间,在main.c中调用app.c的static变量和函数,需要利用一个结构体结合指针通过传地址的方式间接访问。 app main struct { int , func()}作为一种通道或载体 直接上一个代码: /*main.c*/ #include "common 阅读全文
posted @ 2021-04-24 23:43 real-watson 阅读(1044) 评论(0) 推荐(0) 编辑
 

摘要: 本人也时常看其他人的blog,搜索资料的目的是尽快解决当前的问题,例如如何移植一个ssh,尽快要明白所需的东西,方能移植完成。 移植sqlite3的步骤如下: 1. 到官方网站下载指定的源码包:https://www.sqlite.org/2020/sqlite-autoconf-3340000.t 阅读全文
posted @ 2020-12-28 16:14 real-watson 阅读(458) 评论(0) 推荐(0) 编辑
 
摘要: 一系列流程书写如何用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) 编辑
 

2022年12月15日

摘要: 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 阅读(271) 评论(0) 推荐(0) 编辑
 

2022年11月1日

摘要: 1. 何为logser,logser作为一个log服务器的处理集体,嵌入在多进程通讯,通过多进程通讯的各种手段,例如管道、套接字、共享内存和消息队列等等,实现日志的接收处理。 2. logser定位linux系统下的application,提供一种便携式移植log系统的机制,只要是linux系统,无 阅读全文
posted @ 2022-11-01 16:35 real-watson 阅读(24) 评论(0) 推荐(0) 编辑
 

2022年10月22日

摘要: 1. 内核定时器的作用 当中断触发时,修改定时器时间间隔,进入定时器回调函数,待完成回调则恢复。 2. 定时器嵌入其他数据结构 struct timer_list timer, 这个结构体作为定时器的数据结构,通过jiffies进行时间间隔的配置: mod_timer(&timer,jiffies 阅读全文
posted @ 2022-10-22 15:17 real-watson 阅读(90) 评论(0) 推荐(0) 编辑
 
摘要: 一.、几年嵌入式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) 编辑
 
摘要: 1. 共享内存作为进程间通讯的高效方式,在多进程通讯机制中,有信号量、消息队列、套接字和共享内存等方式,但提倡共享内存。 2. 共享内存是一个对内存的读写操作,但其需要增加通讯同步方式,例如通过信号量或者线程锁进行同步,因为读写内存都是两个进程或者一个进程内部的两个线程 进行通讯。谈谈线程锁的目的, 阅读全文
posted @ 2022-10-22 09:30 real-watson 阅读(357) 评论(0) 推荐(0) 编辑
 

2022年10月20日

摘要: ,1. io 命令的操作 io 进行读取指定地址的数据,从物理地址直接读取,因为该命令是经过虚拟地址转换的,所以可以直接使用, 但在驱动程序中,应当经过ioremap重新偏移正确的虚拟地址,方可读取数据。 2. DS的理解 DataSheet通常都是 Address Mapping 解析一堆寄存器的 阅读全文
posted @ 2022-10-20 14:16 real-watson 阅读(486) 评论(0) 推荐(0) 编辑
 
摘要: 1、 话不多说,直奔主题 设备树是Linux系统比较重要的一部分,可谓核心也它,细节也它。从大方面看,简单配置设备树,驱动则起来;从小方面看,配置设备树以及修改驱动程序,驱动挂载起来。 以前的NXP、三星6410以及龙芯开发平台,也结合代理商的协助,都是被驱动化的开发,设备树基本不碰,最多也就是编译 阅读全文
posted @ 2022-10-20 10:20 real-watson 阅读(188) 评论(0) 推荐(0) 编辑
 

2022年10月9日

摘要: 1. 提供代码 重点关注curl_escape API #include <stdlib.h> #include <stdio.h> #include <sys/stat.h> #include <curl/curl.h> size_t getcontentlengthfunc(void *ptr, 阅读全文
posted @ 2022-10-09 17:51 real-watson 阅读(270) 评论(0) 推荐(0) 编辑
 

2022年8月5日

摘要: 本博客目的是熟悉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 阅读(423) 评论(0) 推荐(0) 编辑
 

2022年5月25日

摘要: 本次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 阅读(75) 评论(0) 推荐(0) 编辑