rk3568刷写openharmony3.2
sudo upgrade_tool di -p parameter.txtsudo upgrade_tool UL MiniLoaderAll.bin -noresetsudo upgrade_tool di -u uboot.img && sudo upgrade_tool di -boot_linux boot_linux.img&& sudo upgrade_tool di -system system.img && sudo upgrade_tool di -vendor vendor.img && sudo upgrade_tool di -userdata userdata.img && sudo upgrade_tool di -ramdisk ramdisk.img && sudo upgrade_tool di -resource resource.img && sudo upgrade_tool di -sys-prod sys_prod.img...
Ubuntu22.04多屏闪烁问题
当电脑连接多个显示屏时,只要在副屏打字且光标没有悬浮在主屏幕,主屏幕就会白屏闪烁。 后续发现只有在终端和文件夹出现这个问题,想到安装了Blur my shell这个extension,并且指定了这两个app为模糊,在这个extension里面删掉这两个app的配置即可解决。
i2c-adpater-mainline for k1 of spacemit
初步完善框架#include <linux/mod_devicetable.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/device.h>#include <linux/i2c.h>#include <linux/err.h>#include <linux/clk.h>#include "i2c-k1x.h"static intspacemit_k1_i2c_xfer(struct i2c_adapter *adapt, struct i2c_msg msgs[], int num) { struct spacemit_k1_i2c *i2c = i2c_get_adapdata(adapt); return num;}static u32 spacemit_k1_i2c_functionality(struct i2c_adapter...
tmux
会话管理进入 tmux命令可以直接进入一个session 创建一个名为session-name的会话: $ tmux new -s <session-name> 进入一个已经存在的会话# 使用会话编号$ tmux attach -t 0# 使用会话名称$ tmux attach -t <session-name> 退出 ctrl + d可以直接退出 ctrl + b后按d可以后台运行该会话,使用attach进入 其他 tmux ls 或ctrl +b s列出所有会话 tmux kill-session -t销毁某个会话 tmux rename-session或ctrl+b $重命名某个会话 窗格管理Ctrl+b %:划分左右两个窗格。Ctrl+b ":划分上下两个窗格。Ctrl+b <arrow key>:光标切换到其他窗格。<arrow key>是指向要切换到的窗格的方向键,比如切换到下方窗格,就按方向键↓。Ctrl+b ;:光标切换到上一个窗格。Ctrl+b o:光标切换到下一个窗格。Ctrl+b...
内联汇编
在c语言中使用汇编代码,为了实现更高效率或执行特定汇编指令。 语法格式asm volatile("assembly code" : output operands /* 可选 */ : input operands /* 可选 */ : list of clobbered registers /* 可选 */ ); asm和volatile asm 是内联汇编的关键字。 volatile 关键字告诉编译器不要优化这段汇编代码。 输出操作数 格式为 :[constraints](C variable) constraints 是约束字符串,定义了输出操作数的类型和位置。 (C variable)是 C 变量,用于存储汇编代码的输出。 输入操作数同输出操作数 列表的损坏寄存器这是一个可选部分,列出了在汇编代码中被修改的寄存器,告知编译器这些寄存器在汇编代码后可能包含不同的值。 e.g....
earlycon
引言earlycon 是一个早期控制台(early console)机制,用于在系统启动的早期阶段提供输出功能。在内核启动过程的早期阶段,标准的控制台设备(如串口、VGA控制台等)可能还没有初始化完成,这时可以使用 earlycon 来输出调试信息,帮助开发者调试内核启动过程中的问题。 如何开启earlycon要在内核启动时启用 earlycon,需要在内核配置中启用几个相关的配置选项: CONFIG_SERIAL_EARLYCONCONFIG_OF_EARLY_FLATTREE 还需要在内核命令行参数中添加相关设置。例如: earlycon=pxa_serial,0xd4017000 具体流程在 Kernel 初始化汇编代码执行完跳转到 start_kernel 之后,setup_arch 调用 parse_early_param,进而在其中执行 early_param...
vim快捷操作
快速定位 A: 跳到行尾并开启编辑模式 0: 跳到行首 $: 跳到行尾 G: 跳到文件尾 gg: 跳到文件首 nG: 跳到第n行 e.g. 50G: 跳到第50行 nj: 向下跳n行 e.g. 3j: 向下跳3行 nk: 向上跳n行 e.g. 3k: 向上跳3行 nw: 向后跳n个单词 e.g. 3w: 向后跳3个单词 nb: 向前跳n个单词 e.g. 3b: 向前跳3个单词 /: 搜索 e.g. /123: 搜索123文本 按n和N向下和向上 pair %: 在pair中来回跳 e.g. (123) 在(和)之间来回跳 ci + left-pair: 删除pair中的内容并且开启编辑模式 e.g. ci+(: 删除()中的内容并且开启编辑模式 di + left-pair: 删除pair中的内容 e.g. di+(: 删除()中的内容 yi + left-pair: 复制pair中的内容 e.g. yi+(: 复制()中的内容 vi + left-pair: 选中pair中的内容 e.g. vi+(:...
使用vim阅读代码
环境 Ubuntu22.04 VIM - Vi IMproved 8.2 (2019 Dec 12, 编译于 May 03 2024 02:37:51) 引言在Linux环境下,Source Insight只能在Wine环境下运行,显得并没有那么好用,于是便有了本文,使用Vim+Ctags+Cscope来进行阅读代码。 安装安装Ctags打开终端,运行以下命令安装 ctags: sudo apt install exuberant-ctags 如果你希望使用 universal-ctags(这是一个更新和维护更积极的分支),则可以安装它: sudo apt install universal-ctags 安装Cscopesudo apt install cscope 配置与使用配置Ctags在项目根目录执行如下命令生成tags文件: ctags -R . 可以发现在项目根目录下多了如下文件: ❯ ls...
基于CloudFlare搭建Docker镜像
准备 一个域名 一个CloudFlare账号 域名修改DNSPS:如果该站点已在CloudFlare中存在,请忽略该步骤。 首先在CloudFlare中添加一个站点,域名就写你自己的域名: 添加好之后在下面我们可以看到需要修改的DNS为: 这里我是使用的腾讯云的域名,所以以腾讯这里为例,修改好后如下图: 使用github部署首先fork该仓库:https://github.com/ciiiii/cloudflare-docker-proxy 将src/index.js、wrangler.toml的libcuda.so替换成你的域名,以src/index.js为例: vim src/index.js:%s/libcuda.so/your-url/g 修改完成后push(如果在网页ui操作忽略该步骤)。 随后点击Deploy with works即可开始部署。 PS:如果Delpoy with works有问题,请修改readme中该按钮的超链接为你自己的仓库地址。 Deploy with worksAccount...