在 RISC-V 初探 一文中我們講到了如何使用 riscv-poky 去產生你的 RISC-V 系統,那如 果我們不想要透過 Yocto 去建立我們的 RISC-V Linux 系統,這樣子要怎樣建立迷你的系 統呢? 答案就是 Busybox 。 Busybox 是一個非常有趣的程式,舉凡我們在 Linux 下最常用的命令如 ls、cd 等到 sed、 vi 他都具有相對應的簡單實現,此外,這些命令實際上都只是一個軟連結 (symlink) 連結 到名為 busybox 的執行檔,也就是說,如果我們將 busybox 進行靜態編譯 (static link), 則製作出來的系統整體 ...
閱讀全文 »

在現在的世界,如果要講到指令集架構(ISA),腦海中第一個想到的不是 x86 就是 ARM 或 者 MIPS,然而如果想要自己製作一個 CPU 來玩,如果不透過現有的指令集的話,要從 CPU 打造到編譯器的撰寫、Linux 的移植又會花費大量的時間,有沒有一個現成且不需要商業授 權的指令集可以直接套用呢?有,那就是 RISC-V。 RISC-V (發音為: risk-five) 是由 UC Berkeley 所發展的開源 ISA,具有大約 100 個 指令,並且提供 16、32、64、128 等多種記憶體定址方式,更酷的事情是,RISC-V 已經具 有 Linux、GCC、LLVM、 ...
閱讀全文 »

使用 wandboard 兩年多了,我才決定想要紀錄一下如何編譯 wandboard 的 Android 4.4.2 (kitkat) 。這塊板子使用了 Freescale i.MX6 作為 CPU,並且有 Solo (單核)、Dual (雙核)、Quad (四核) 幾個版本可以選擇,並支援 Yocto 、Android、FreeBSD 等系統, 如果想學 Linux Driver、Android 移植等事情,這是一塊不錯的板子,畢竟 CPU 的 datasheet 可以透過 Freescale 官方網站下載(相比之下,raspberry pi 提供的 cpu 資訊不足,不適合用來學習 Linux Kernel driver 移植)。

閱讀全文 »

Build your own embedded linux distributions by yocto project 是我於今年在 COSCUP 2015 以個人身分所進行的演講,簡單介紹了自己硬幹一套嵌入式 Linux 系統的難處,以及 如何使用目前具有眾多 SOC 開發商所支援的 Yocto Project 來簡化產生你要的 Linux rootfs/sdk/emulator 的環境、recipes 的撰寫,投影片如下 Build your own embedded linux distributions by yocto project from Yen-Chin ...
閱讀全文 »

4917 微處理器是 澳大利亞新南威爾斯大學 (UNSW) 教授 Richard Buckland 所開授課程 COMP1917 裡面所講述的一個專為該課程設計的虛擬微處理器,此微處理器並未在市面上販 售。 4917 是一個 4-bit,具有 4 個暫存器以及 16 個記憶體空間 (4bit * 16) 的微控器,屬 於 Von Newman 架構 (程式和資料儲存在同一份記憶體), 和當今電腦、手機使用的 64-bit CPU 相比相差甚遠,但是非常適合用來學習一個 CPU 的運作以及模擬器的撰寫。 在這篇文章中,我們將使用 Clojure 1.7 的新功能 Reader C ...
閱讀全文 »

在前面的文章裡面,我說了 Geeksphone Revolution 並非開發者友好的手機 ,這是為什麼 呢?在這邊文章讓我來一一吐槽吧,首先先讓我們看看官網上的其中一篇宣傳 廣告看起來很好很強大,而他的 OTA 換刷不同的 OS 我也在 Geeksphone Revolution 開箱 文當中展示過了,那問題出在哪?問題是出在 you can seamlessly switch to Boot2Gecko by Mozilla, or any other community-supported flavor of an OS 這句話 啊… 我們先說 Gee ...
閱讀全文 »

在 Geeksphone Revolution 開箱 一文中說到我已經拿到了西班牙手機商 Geeksphone 所販 售的 Geeksphone Revolution 手機,而這隻手機由於台灣並未上市,因此無法在台灣電信 商購買,本文簡單紀錄一下個人購買該手機的過程,以及過海關時所需要申請的文件該如何 填寫等資訊。 認真的說,直到我成功 porting 這隻手機到不同平台之前,這隻手機都不是開發者友好的, 我將在下篇文章說明為什麼,因此除非您是開發者,或是對自己/對我很有信心,並不建議 購買此手機。 首先連結到 Geeksphone Revolution 購買網頁,點選 ...
閱讀全文 »

今天終於讓我拿到了 Geeksphone Revolution 手機,這是西班牙手機商 Geeksphone 於去 年所推出的手機 ,值得注意的是其創始人是個 20 來歲的年輕人 ,而這隻手機,剛出來 時就說到會支援 Firefox OS,這也是讓我對他感興趣的原因。 我一定要吐槽一下,不是都說 台灣成為 Firefox OS 研發重鎮,為什麼在台灣買不到 Firefox OS 手機 !? 這隻手機使用 Intel Atom Z2560 作為其 CPU,手機規格如下圖: 看起來規格還不錯是吧,價錢其實也算還 ok,我這隻手機購入包含運費,共花了 NT $ ...
閱讀全文 »

Gentoo Linux 除了是一套非常強大、易於客製化的 Linux 系統以外,他亦可以讓你輕鬆的建 構不同平台的 toolchain,本文將介紹 Gentoo Linux 的 crossdev 套件,以及如何透過 crossdev 命令建立出不同平台的 toolchain. Toolchain 中譯為 交叉工具鏈 ,是在進行嵌入式開發必備的工具,包含了以下幾部份: binutils 用來生成二進制(binary)文件的基本工具 gcc GNU C/C++ 編譯器 gdb GNU 除錯工具 glibc/ulibc/newlib 系統 ...
閱讀全文 »