BLCL的博客小馆

archive · 2024binance闲置资金记得放理财!立即注册立享高达 $1,100 的交易手续费返还券!!

home

about

archive

loading..
FreeRTOSQEMU

QEMU模拟运行FreeRTOS

Foreword 测试一下QEMU模拟运行FreeRTOS QEMU QEMU安装需要先安装MSYS2 直接下载安装 https://www.msys2.org/ 安装完成以后,QEMU使用pacman包进行安装 https://www.qemu.org/download/#windows pacman -S mingw-w64-x86_64-qemu 添加新的环境变量,把刚才安装的路径加进去 D:\msys64\mingw64\bin 查看版本,显示正确 qemu-system-arm -version QEMU emulator version 9.1.1 Copyright (c) 2003-2024 Fabrice Bellard and the QEMU P..

read_more
loading..
nasn100畅网黑群晖

畅网 N100 黑群晖踩坑记录

硬件配置畅网 N100 先锋版 V2这个图是旧版的, 新版略有区别槽点必知先锋版 V1 和V2区别节选自某宝 畅网微控品牌店, (只在这个店看到过这个说明, 记录一下)增加多2个 USB2.0、2个USB3.2多了一个标准SATA数据接口,增加了一个信号侦测芯片.当 WiFi接口插了无线网卡或转接卡之后,SATA口自动失效. 当WiFi接口没插东西,SATA口插了硬盘,SATA口生效两者只能二选一另外V2版本用不了 三选一的转接卡 协议冲突, 只能用 WiFi转M2 的转接卡 或无线网卡。V1和V2 BIOS 不通用,不能互刷V2版本多了一个物理自启动开关,如果要通电自启动直接拨杆到 ON就可以了不需要去 BIOS里面修改任何东西。找不到硬盘/不支持 M2 NVME 硬盘RR 引导添加插件 nvmesystem..

read_more
loading..
build

宏管理工具之lite-manager

Foreword 体验一下群友的宏管理工具 lite-manager https://gitee.com/li-shan-asked/lite-manager 群友的宏管理工具,主要在gitee上更新,github更新不及时,release文件可能不能用 环境 至少需要一个make和gun c的环境,之前系统里一直有一个MinGW32 13年的版本,gcc大概只有6,编译过不去(后来发现应该不是这个问题) 通过下面的方式在线安装MinGW64 https://github.com/Vuniverse0/mingwInstaller/releases/download/1.2.1/mingwInstaller.exe 安装完成以后添加环境路径 如果环境里没有多的make,可以把min..

read_more
loading..
build

构建工具之xmake

Foreword 当一套代码兼容了多个软件、硬件,需要面对不同情况下,进行不同的build的时候,就需要额外的工具来辅助完成这一个事情。 通常IDE构建 多数情况下,我们使用的各种IDE都有自己的一套UI或者配置文件来完成这个事情。 以VS为例,一般情况对于一个项目的整体构建的配置大概是这样的 顶级就是Solution 一个解决方案,一个方案下面可能有多个工程共同构成,比如某些工程依赖的库、依赖的测试工程、依赖的一些子应用。解决方案里必然也有一个配置,用来指定各个工程在解决方案级别进行构建时,各个工程适用什么配置来进行组合构建。 单独的工程来说,有一个或者多个配置文件,比如debug和release,这种最常见的,剩下就是对于整个项目的源码文件、库文件、依赖文件、资源文件的组合,可能不同配置用到..

read_more
stdout

ss命令抓linux下偶发端口访问

Linux服务器一直有个TCP连上来发数据,跑到对应的机器上发现连接已经断了,对应的进程也退出了。估计是某种定时任务。 排查代码无果,只能通过命令行来监控。这里直接上ss命令 while true; do pid=$(ss -tanpe state established 'dst 10.11.22.33:4455' | awk 'match($0,/pid=([0-9]+)/,a){print a[1]}'); [[ -n $pid ]] && tr '\0' ' ' </proc/$pid/cmdline ; sleep 0.2; done; 解释下: while true; do ...; sleep 0.2; done;每0.2s反复刷新执行指定命令。 ss -tanpe..

read_more

kcp 与 kcp-go 的设计与实现

引言 最近深入研究了 KCP 的实现,通读了 KCP 原版及其 Go 语言实现(kcp-go)的源码。在阅读代码的过程中,还参考了许多优秀的博客文章,十分感谢这些博主的分享。有了这些珠玉在前,我也整理了一些自己对 KCP 的理解,作为学习过程中的记录和总结。 两个核心数据结构 ikcpcb 是 KCP 的控制块(KCP Control Block)数据结构,包含一条 KCP 连接的所有状态信息和参数。作为 KCP 协议的核心数据结构,它负责管理数据传输、重传机制以及流量控制等功能。 segment 是表示 KCP 数据段的结构体,用于描述一个数据包或控制包。每个 segment 都包含数据段的头部信息和数据部分。 这两个数据结构定义了 KCP 使用的所有关键字段。关于它们的具体含义,Luyu Huang 的博文..

read_more
loading..
gRPC

Python gRPC

Foreword gRPC example测试 安装gRPC库 pip install grpcio 安装gRPC工具 pip install grpcio-tools 下载官方例程 git clone -b v1.66.0 --depth 1 --shallow-submodules https://github.com/grpc/grpc 演示用例在这里 grpc/examples/python/helloworld 先启动服务端 python greeter_server.py 可以看到已经在监听了 再启动客户端 python greeter_client.py 正常连接到了服务端 源码分析 服务端 from concurrent import f..

read_more
loading..
ChatGPT

ChatGPT-Mirror部署和体验

Foreword cws一直有问题,而且只支持access token,经常要换很麻烦。之前有关注到dairoot的mirror,这次刚好试一下,发现体验还行 ChatGPT-Mirror https://github.com/dairoot/ChatGPT-Mirror 项目很简单 https://chatgpt.dairoot.cn/ 官方体验站,也可以使用免费账号测试,基本都差不多 部署 脚本内是docker,所以机器需要提前安好docker git clone https://github.com/dairoot/ChatGPT-Mirror.git cd ChatGPT-Mirror/ # 修改管理后台账号密码 cp .env.example .env &..

read_more
loading..
SSHSTM32

STM32 MCU移植SSH

Foreword 给MCU移植Crypto、SSL、SSH、SFTP等库,真的找不到一个例子,目前看到的库大部分都是商用的。 比如wolfssh、CycloneSSH、libssh2、TinySSH、microSSH、Dropbear,这些库可能linux使用比较多,但是那边安装移植也方便多了,降到MCU一库难求,更别说详细的移植文档了,基本没有 wolfssh https://www.wolfssl.com/products/wolfssh/ wolfssh移植 wolfssh的库整个集成到了CubeMX中,简单的几个操作就可以把ssh集成进去 系统时钟不要用systick,留给FreeRTOS用 随便加一个input IO作为SD卡的输入检测 再随便加一个串口作为SSH..

read_more
loading..
前端react

用React实现跟随鼠标的3D透视效果

效果展示在下面的图形上移动鼠标即可看到效果 需要用到的知识 CSS perspective,参考MDN CSS transform-style,同样参考MDN 代码部分其实核心的逻辑和React关联性不大,只是我正好用React来做的,直接参考https://jsfiddle.net/yunyuyuan123/ukqstdw6/95/,主要关注这几个部分: 使用requestAnimationFrame来保证动画过度的流畅性。 通过translateZ来控制Z轴的高度,从而实现层次感。 使用CSS新属性will-change来提升性能。

read_more
123418