主页

为大端嵌入式处理器编译 Arm GNU 工具链

最近正在试图把 CanoKey 的闭源版本从 Arm Keil 工具链切换到开源的 GNU 工具链。这过程中有许多波折,或许之后会有独立的博客讲述这个故事。在迁移初期就遇到的一大问题是,Canokey 的安全芯片使用的处理器是大端的 SC000,本质上是基于 Armv6-M 架构的 Cortex-M0,使用 Thumb 指令集。而 Arm 官方提供的 Arm GNU Toolchain 对于这一架构仅有小端支持(即 host triple 为 arm-none-eabi,而非 armeb-none-eabi)。

阅读更多

我与超算的 2021——一位退役队员的回忆

倏忽间,距离我本科毕业已经过去了三个学期。这一年半里,虽然我作为研究生无法再上场参与超算比赛,但依旧和超算队有着密切的联系,参与了 SC20、ASC20-21、ISC20 和 SC21 这四场比赛的准备。在转换身份后经历的这些比赛,对我来说与上场参赛是完全不同的体验。之前的每场比赛后,我都会花上半天的时间回顾一下整个过程,写一篇总结,包括 ASC19 上 + 下、ISC19、SC19、ISC20(写了标题就是写了!)。而到现在,我已经很久没写过这样的总结了。恰逢 2021 年年末(每个月总有几十天不想科研的日子),又有好几个人在催促我补上总结(在写了在写了.jpg),于是就有了这篇文章。

阅读更多

使用 NGINX 实现动静态混合的路径 Overlay

最近部署 MediaWiki 时遇到一个需求,即用 NGINX 实现类似 Overlay FS 的特性。 具体地,由于我使用了 Git 版本的 MediaWiki,而又需要在目录中添加一些自定义的文件(如 logo、favicon.ico、各种 verification 文件等)。为了不污染 Git,并在升级时减少麻烦,因此我想把这些文件独立于源码放置。

阅读更多