如果你面临两个同样善良的求婚者,他们都想与你共度一生。其中一位富有,另一位相对贫穷。我要告诉你的是,无论贫穷的那位多么帅气、多么能讨你欢心,你最好还是选择富有的那位。这并不是因为富有的男人能给你更好的物质生活,也并非要你变得虚荣。而是因为,富有的男人有更多的选择权,但他却选择了你,这说明他愿意为你拒绝其他可能。

If you are faced with two equally kind suitors who both want to spend their lives with you. One of them is rich, the other is relatively poor. What I'm telling you is that no matter how handsome and pleasing the poor one is, you're better off with the rich one. This is not because rich men can give you a better material life, nor does it mean that you become vain. It's because a rich man has more options, but he chose you, which means he's willing to reject other options for you.

[哇]【中英双语阅读:I Remember, I Remember我记得,我记得】#双语美文#
I Remember, I Remember我记得,我记得
By Thomas Hood托马斯·胡德

I remember, I remember 

The house where I was born, 

The little window where the sun 

Came peeping m at morn; 

He never came a wink too soon,  

Nor brought too long a day, 

But now I often wish the night 

Had borne my breath away I

我记得,我记得 

我出生的那所房屋, 

还有那扇小窗, 

清晨太阳向里面窥探。 

它从不提前一瞬来临, 

也不使人感到白天太长。 

可现在我却常常希望, 

黑夜能使我安息长眠!

I remember, I remember  

The roses red and white,  

The violets, and the lily-cups,  

Those flowers made of light ! 

The lilacs where the robin built, 

And where my brother set  

The laburnum on his birth-day,-- 

The tree is living yet ! 

我记得,我记得 

那红色的和白色的玫瑰, 

还有紫罗兰和百合花瓣, 

那些光彩斑斓的花朵! 

那知更鸟筑巢的紫丁香, 

我弟弟在他生日那天 

将金链花种在它旁边-- 

这棵树至今生机勃勃!

I remember, I remember  

Where I was used to swing,  

And thought the air must rush as fresh  

To swallows on the wing; 

My spirit flew in feathers then,  

That is so heavy now,  

And summer pools could hardly cool  

The fever on my brow!

我记得,我记得 

我常去荡秋千的地方, 

心想那扑向飞翔着的燕子的清风 

必定是同样地令人心旷神怡, 

我的心啊,那时犹如插翅飞翔, 

现在却沉重无比, 

即使夏日的水潭也难以 

消退我额头上的高热!

I remember, I remember  

The fir-trees dark and high; 

I used to think their slender tops  

Were close against the sky:  

It was a childish ignorance,  

But now 't is little joy 

To know I'm further off from heaven 

Than when I was a boy.

我记得,我记得 

那些枞树苍郁而高耸, 

我常思量它们纤细的树梢 

几乎紧贴着天空, 

那是孩子的天真无知, 

但现在我却很少欢乐, 

由于知道自己离开天国 

比儿时更加遥远。

牛掰!在mailing list里整了一堆patch拍上去之后终于完成了这个目标。在stm32f469上跑了fastboot + kernel xip + userspace xip。

buildroot内置支持这个平台的xip,但它使用的是片上flash + initramfs的做法,只能是概念验证。我这里用qspi flash放内核/dtb和rootfs,都xip了。

++++

图一是内存使用,kernel起来之后只用了2-3M内存,支持了一些驱动,没有网络,没有block层,也没有一些关键的设备驱动诸如sdio,USB。但kernel在这些方面的内存使用是保守的。通过一个体力活的修改static内存使用和devicetree内存使用,内核自己的内存使用是能拉到1M以内的。一个几乎彻底瘫痪什么都干不了的内核大约可以压缩到500-700KB的内存使用。

图二是usespace xip;使用了elf fdpic的可执行文件格式。这个格式的elf较好的解决了nommu上动态链接的问题,因为地址是实模式这是uclinux的一个大麻烦,如果包多的时候需要全局考虑内存地址空间问题。而如果都使用static link系统的可执行程序会bloat很多。

rootfs使用cramfs,是一个有文件大小和总大小限制的紧凑的文件系统。最原始的开发者的torvalds本人,在transmeta工作时开发的。这个文件系统可以支持压缩和xip,但很快因为没有使用使用者而被抛弃了。直到大约2017年前后,内核4.15时merge了Linaro的Nicolas Pitre的新版本。而新版本里最重要的意义就是支持在nommu系统上跑xip(也支持mmu系统)。

新版的cramfs驱动还支持通过mtd-rom(虚拟)设备直接把硬件地址映射的flash(并口或spi nor)虚拟成mtd设备挂载,跳过block layer。在这种模式下,cramfs驱动可以直接mmap可执行程序(调用mtd的mmap),不实际载入ram,包括动态链接库。当然制作这种文件系统镜像时,可执行程序不得压缩,这是mkcramfs工具的工作。

buildroot缺省支持的nommu arm的可执行程序格式是flat,也支持cramfs系统镜像放在flash上,但是这个格式不支持xip,可执行程序还是要载入内存,那这样就不如用squashfs了。

buildroot最初是支持fdpic的,但是随着blackfin平台灰飞烟灭,因为这个平台也是uclinux最大的和几乎唯一有商业支持的平台,fdpic支持也被buildroot扔掉了,虽然arm工具链支持这个特性。但是因为它能xip,一些执着的在stm32和nxp imxrt上跑uclinux的人,包括靠这个吃饭的emcraft,都在继续努力让buildroot更好的支持ELF fdpic。邮件组里可以看到一些讨论和patch work,只是review的非常慢,还没有merge。

anyway有这个支持,在低内存系统上使用可以相当放肆了。比如busybox就不用剪裁什么了,需要的工具都搞进去,反正flash很便宜。

图三是Nicholas Pitre在lwn.net上发的雄文shrinking the kernel with a hammer里的极限结果;以仅仅能boot系统为目标在开机时给mem=768K参数,把系统拉起来了。他深度修改了内核,uclibc/busybox。

++++

uclinux仍然在这样一些方面很有吸引力:

1 性能牛逼的网络协议栈,
2 可以使用物美价廉性能牛逼的WiFi模块而不是iot那种跑1-2Mbps就上吐下泻的,
3 有各种文件系统支持而不是只能用极其瘸腿的little fs和fat,
4 有数量惊悚的传感器驱动可用,
5 有牛逼的USB设备协议栈,
6 太多工具可用了,一些轻量级的脚本语言开发速度不要太快,比在MCU的IDE上吭哧吭哧的写C和调试,开发效率至少是一量个数量级的提升。


发布     👍 0 举报 写留言 🖊   
✋热门推荐
  • 腾格尔:嗜酒如命挥霍百万,6岁爱女病逝悲痛欲绝,61岁放飞自我在某卫视晚会上,腾格尔和一位说唱歌手进行跨领域合作,两人共同演唱了改编版的《最近比较烦》在库里唱歌
  • 出站省外中高风险地区来咸返咸人员集中隔离,中高风险地区所在县市来咸返咸人员落实14天居家隔离,中高风险地区所在地市其他地区来咸返咸人员查验健康码、行程码、48小
  • 狮子座的情侣档狮子座好表现,喜欢受人恭维,理想的对象是可以和你分忧解愁、同甘共苦的白羊座;有自由、思想进步、开朗、愿和享受人生、实现理想的射手座;还有同属于狮子
  • 买点绿叶青菜和各种食材,真的是不太容易,需要整日的关注各个群。4.12 牛奶+粥 持续升温到32度 孟春明媚 继续读宋怡明书 天天奇葩新闻看得人累得慌 处理邮件
  • 有什么改变了 这时候一到晚上就困了(笑)X: XOXO 留给读采访的人们爱的信息朋友们 我爱你们!!!(笑)Y: Yves Saint Laurent Y
  • 週刊ファミ通@毎週木曜発売 @WeeklyFamitsu 23分钟4/21(木)発売の週刊ファミ通5/5号 No.1742は、【シャニマス4周年】特集✨今年も表
  • 到哪儿都在半小时内现代简约风标准!#宁波合租##宁波租房帮帮帮##宁波租房##宁波租房在线##阿拉宁波租房[超话]##宁波租房[超话]##宁波海曙租房# 翔鸟#
  • 考虑到外地朋友来上海旅游,所以我就不给大家推荐那些郊野公园和大型绿地之类的景点了,毕竟这些地方的景色在上海之外也到处可见。而类似欢乐谷、海昌海洋公园这种在许多城
  • 他说“你遗传了我这基因倒是不太好,本来长个一米六差不多了欧”“哈哈哈哈哈是哦我可能去东北吃点香”…后来我问他一些琐碎的事情,找话题问他有多久没看新闻联播了,记得
  • 可这位g的粉不知你想要什么真相,一看就是没好心,放臭P,如果你妈得了新冠,周围的张三李四王二麻子都得了,你是不是也要查一个真相啊。不喜欢别关注,不同情也别犯贱找
  • [哇][哇]前文看评论区其实这篇没有什么很轰轰烈烈的故事啦,就是一些平淡生活的流水账,记录不自知打直球的恋爱白痴和天真但也有些小心机在的小少爷,他们心动及日益喜
  •   白只透露在片中與王菀之譜出一段宅男宅女戀情,笑言是本色演出;凌文龍則繼《黃金花》後再與毛舜筠演母子,曾志偉是其父親,「上次我狂打毛姐,今次她打到我飛起,哈哈
  • 口感也很好,但很少,不过花胶倒是没入味很淡…鮰鱼超级酥软,稍微用点力就化开的感觉~⭕️茅台酒醉膏蟹很巧最近想吃,本来第二天去吃韩国料理的时候想点来着,结果刚巧有
  • 如今,我们渐渐老去,我不再出现再荧屏上,我们各自享受剩下的时光,过去的几十年里,小蜜蜂们,谢谢你们的陪伴,谢谢你们曾经陪我一起打战,说一路真心的话,你们永远是我
  • )我身体的每一个粒子都和宇宙一样长久,生生灭灭,今世恰好成为张子沫 便逃不出张子沫的命运,好与坏都是我,认真活过,随时可以死了。 有时候我会想今生最想要得到的
  • “我前期一直在听他们的歌,喜欢他们多元不浮躁的音乐表达,加入其中,我们一致的思想就是想表达对家乡的各种感情,通过音乐的力量让更多人了解包头,走进包头,爱上包头。
  • 不得不感叹,檀健次和白发的适配度真的很高,白发与檀健次的容颜完全融为一体,毫无违和感,此飘飘的白发,简直就是为他量身打造的,还未拍摄就开始期待了。不得不感叹,檀
  • 如果身处骨痛热症的黑区或不幸患上骨痛热症,该怎么办❓别担心~只要增强我们的免疫系统(抵抗能力)就可以了。因此,它无法治愈骨痛热症。
  • 。。
  • # ​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ ​​​ 【