Recent Posts

rust 语言特性

less than 1 minute read

写这篇文章的目的在于记录在页表转换过程中使用 unsafe 造成的一些问题,以及 rust 在升级过程中产生的一些不同。

cpu exception handling

less than 1 minute read

为什么需要 CPU exception handling 在冯诺依曼的架构下,程序是按顺序执行的,也就是说当我们生成一个机器指令流,程序会按照这个顺序依次执行。但是有些执行的正确性是有条件的,比如一个除法指令,他的除数必须是一个非零的数;又比如整数溢出。这些错误指令是 CPU 不能执行的,如果 CPU 执行到了指...

ohos-alpine-cartographer

2 minute read

编译动态库 ```bash 使用 cmake 时 cmake -DBUILD_SHARED_LIBS=ON .. 运行 configure 脚本时,需要传递 –enable-shared 选项来指示编译动态库。使用以下命令配置编译选项 ./configure –enable-shared

candy test

less than 1 minute read

qemu 参数

cmake compile

2 minute read

交叉编译 gmp 库 wget https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz tar -xvf gmp-6.2.1.tar.xz cd gmp-6.2.1 # 在编译 mpfr 库的时候发现 gmp 不可重定位,所以需要加上这个编译参数 export CFLAG...

cmake compile

1 minute read

今天要把现在的程序交叉编译到 aarch64-linux-musl- 的环境上所以,要对很多东西进行交叉编译

NTP Time

less than 1 minute read

此 blog 转载自一个大神 starlitxiling NTP(Network Time Protocol)是一种广泛使用的时间同步协议,旨在通过网络将计算机时钟同步到UTC(Coordinated Universal Time),目的是为了解决不同系统之间时间一致性的问题,可以看一下这个典型的时钟同步算...

cs144 checkpoint3

less than 1 minute read

reassembler win 有问题 wrap 有问题 sender send_extra 有问题 ```bash TCPSender::receive (this=0xffffffffa5c0, msg=…) at /home/miyamo/minnow/src/tcp_sender.cc:184 184 ...

dora autoware.universe

less than 1 minute read

如何我释放指针,我就会得到一个pointcloud + 乱码的 id ,但是 id 的长度还是10 如果我不释放,我就会得到一个 pointcloud_no_ground 的 id ,并且 id 的长度也还是10 而且每次跑都是相同的seq 的数据丢失 2 5 8 , 跑多了可能会出现新的丢不确定是第几个。

dora rk3568 hdc

less than 1 minute read

写这篇文章的目的是要在 ubuntu 23.04 上使用 hdc,连接 rk3568 板子, 进入鸿蒙系统。本来官网上写 DevStudio 只有 windows 和 mac 版本。

cs144 checkpoint0

less than 1 minute read

问题 1: bytestream 使用什么数据结构? 原始想法: 使用环形队列,因为容量是固定的,使用环形队列的两头,一头读,一头写,而且还是原地算法,真的很不错。最大的缺点是: index 不好确定,尾可能在头的前面,不好计算。刚开始没弄明白 peek() 函数是干嘛的,还觉得是环形队列的问题,很难评,有...

dora musl compile

less than 1 minute read

写这篇文章的目的是要交叉编译 arm 32架构的程序,并且使用的 C 库是 musl libc。下面的 docker 镜像主要是提供 musl 交叉编译的环境, rustup target 还是要自己换的。

MiaOS user app

1 minute read

写一个最小的可执行文件 首先去掉 std #![no_std] fn main() { println!("Hello, world!"); } 出现错误 ```bash error: cannot find macro println in this scope –> src/main.rs:...

通用操作系统和 unikernel 的权限模型

less than 1 minute read

在写到 MiaOS 的时候,我遇到一个关于 unikernel 的问题,特权级模型和地址空间的问题。这篇文章主要记录通用操作系统和 unikernel 在特权级方面的设计区别。

如何将当前容器打包成镜像并提交到 dockerhub

less than 1 minute read

这篇文章的原因是,在测试 dora 的分布式工作目录的时候需要使用 docker,所以我在自己的本地 docker 中把环境搭建好,直接传给我的 reviewer, 方便他快速测试。

rust 中 build.rs 构建脚本的作用

less than 1 minute read

build.rs rust 中的特殊构建脚本。它能做的包括生成代码,构建依赖项,编译 C/C++ 代码。 println! 宏在 build.rs 中的作用不仅仅是普通的输出,它实际上是向 Cargo 传递特定的编译指令。这些指令可以控制 Cargo 的行为,比如重新运行构建脚本的条件、设置编译器标志等。 fn ...

ros2 安装已经 dds 相关

less than 1 minute read

DDS ROS2 用于通信的默认中间件是 DDS。在DDS中,让不同逻辑网络共享物理网络的主要机制被称为域 ID。同一域上的 ROS2 节点可以自由地相互发现和发送消息,而不同域上的ROS 2节点不能。默认情况下,所有 ROS2 节点都使用域 ID0。

127.0.0.1 和 localhost 以及 peer-ip

1 minute read

在进行 dora 分布式节点部署的时候,发现 inter-daemon 的地址被记录成了 127.0.0.1, 而不是它的私有地址,所以这篇文章总结一下使用 127.0.0.1 和 使用私有地址的区别,以及什么时候 peer-ip 会将对方识别为 127.0.0.1,什么时候会将对方识别为私有地址。

ubuntu 下使用订阅节点

less than 1 minute read

写这篇文章的目的是在没有界面的ubuntu 系统上使用订阅节点。一般的 clash 都是用在桌面版系统中,如果是服务器版怎么办呢?那就可以使用 v2raya了

MacOS M2 安装 vmware fusion

less than 1 minute read

为什么要写这个玩意儿,纯粹是因为 vmware 的 broadcom 有点难以琢磨,一度让我以为这玩意儿是个假的,想下载不知道在哪里下载,所以记录下来。

虚拟机和 docker 的 网络模式

less than 1 minute read

写这篇文章是因为我想要把有两个在局域网中的设备相互通信,并且其中一台设备有摄像头。一种方式使用 docker, 就是 miniconda 装的时候缺少库。另一种方式是使用虚拟机。

rust 错误处理

less than 1 minute read

写这篇文章的目的是我没有建立好的错误处理思路,我风格混乱,我是个疯子。

docker 换源拉取镜像

less than 1 minute read

写这篇文章的原因是想要拉几个 docker 镜像做实验,国内的 docker 镜像源因为各种各样的原因不能拉取镜像了,另一方面,对于 docker hub, 魔法似乎也失灵了。

git ssh key

less than 1 minute read

写这篇文章的目的是为了搞清楚 git 的认证机制, 虽然 https token 和 ssh 我都没有搞的非常明白,但是呢,已经能够解决一些常见的问题。

git merge and git rebase

less than 1 minute read

写这篇文章的目的是为了记录在 git 操作的时候的一些方法,避免自己只会 git add ., git commit -m, git push, 关于 git merge 和 git rebase 的理解经历了很长时间,很不好意思的是,我现在也没有彻底搞清楚,但是已经学会在常见的场合去使用它们了。