Posts

Showing posts with the label Embedded System

什麼是RTOS ?

RTOS(Real-time operating system) 近來流行的 ARM + RTOS 幾乎已經變成 Embedded System 的代名詞。 來看一下他的相關介紹吧:) wiki : Real-time operating system A Real-Time Operating System (RTOS; generally pronounced as "R-toss") is a multitasking operating system intended for real-time applications. Such applications include embedded systems (programmable thermostats, household appliance controllers), industrial robots, spacecraft, industrial control (see SCADA), and scientific research equipment. 各種 RTOS 優劣 ? 學習 RTOS 和評估使用那一個 RTOS 是兩回事. 以學習 RTOS 來說, 初學者先得瞭解什麼是 real-time system, 她和 PC/Server 有何不同. 再瞭解 programming for RTOS 和一般 programming 的差異, 她的 multi-tasking scheduling 的方式, task 間彼此 synchronize/communication 的方式等等. 以鍛鍊上述基本功夫來說, uC/OS-II 確實是一個理想的學習工具. 她夠單純, 但 RTOS 該有的基本機制她都有. 她和藹可親, 初學者很快就可以與她打成一片. 她身材纖細苗條, 只要 32K bytes 的 flash 就可以存放了. 至於如何為產品選擇 RTOS, 則需要對專案有全局的瞭解才能挑出適用之材, 例如產品規格需求, 軟硬體發展時程, 預算多寡, 人員訓練等等. 因為許多時候 RTOS 是產品成敗的關鍵. 舉個例子, 如 linux, 有些公司只著眼在她是免費的, 忽略了客戶 real-time 的需求, 或是用了 uc/OS-II 才發現需要 file syst...

什麼是Open Embeded

Image
Open Embeded (縮寫為 OE) Open Embeded官方網站 關網介紹 : Welcome to Openembedded, your best-in class cross-compile environment. Openembedded allows developers to create a complete Linux Distribution for embedded systems. Some of the OE advantages include: * support for many hardware architectures * multiple releases for those architectures * tools for speeding up the process of recreating the base after changes have been made * easy to customize * runs on any Linux distribution * cross-compiles 1000's of packages including GTK+, Xwindows, Mono, Java, and about anything else you might ever need

什麼是Cross Compiler ?

Image
wiki: Cross compiler A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler tools are generally found in use to generate compiles for embedded system or multiple platforms. It is a tool that one must use for a platform where it is inconvenient or impossible to compile on that platform, like microcontrollers that run with a minimal amount of memory for their own purpose. It has become more common to use this tool for paravirtualization where a system may have one or more platforms in use. -- Building a cross compiler manually 1. Build binary utilities 2. Build bootstrap compiler without glibc 3. Build C library 4. Rebuild compiler with glibc -- 例如為了讓一般的C/C++的程式可以在不同的機器平台上執行, 所以需要cross compiler將C/C++程式編譯成不同格式的執行檔。 而要如何安裝可以參考 安裝cross compiler (toolchain) 以及 網友maxkerr寫的 Ubuntu - 建立 ARM Toolchain (Cross Compiler)

什麼是toolchain

Image
wiki: toolchain In software, a toolchain is the set of computer programs (tools) that are used to create a product (typically another computer program or system of programs). The tools may be used in a chain, so that the output of each tool becomes the input for the next, but the term is used widely to refer to any set of linked development tools. wiki: GNU toolchain The GNU toolchain is a blanket term for a collection of programming tools produced by the GNU Project. These tools form a toolchain (suite of tools used in a serial manner) used for developing applications and operating systems. -- 相關應用: 做embedded system是需要toolchain。但當編譯某些Library或是open source的程式時,若遇到廠商所提供的toolchain版本過舊而產生錯誤,就要自己建力特定版本的toolchain來解決問題。 以下是一些網友的介紹: 自己做toolchain 在ubuntu上建立arm toolchain 建立Toolchain -- 另外推薦CodeSourcery http://www.codesourcery.com/ 據說CodeSourcery的幾個員工都是領導 GCC 發展的大人物,所以CodeSourcery 出品的 toolchain品質有保證。

什麼是 i2c (Inter - Integrated Circuit) ?

Image
From Something about Taiwan wiki : i2c I²C (Inter - Integrated Circuit)是 內部整合電路 的稱呼,是一種串列通訊匯流排,使用多主從架構,由 飛利浦 公司在1980年代為了讓 主機板 、 嵌入式系統 或 手機 用以連接低速週邊裝置而發展。I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法,在大陸地區則多以"I方C"稱之。 在 Linux 中,I²C已經列入了核心模組的支援了,更進一步的說明可以參考核心相關的文件及位於 /usr/include/linux/i2c.h 的這個 標頭檔 。 OpenBSD 則在最近的更新中加入了I²C的架構(framework)以支援一些常見的主控端控制器及感應器。 相關閱讀: I2C原理及應用實例 I2C (Inter-Integrated Circuit) Bus Technical Overview and Frequently Asked Questions (FAQ)

What is Framebuffer ?

Image
wiki : Framebuffer A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data. Framebuffer 的架構,是利用 mmap 向 kernel 映射出 "顯示記憶體"區塊(註一、其他memory access的方式 ),讓 linux 的user可以透過framebuffer device(而不需要透過底層的driver)直接對display memory進行讀寫操作。 The information in the buffer typically consists of color values for every pixel (point that can be displayed) on the screen. Framebuffer裡主要是顯示資訊。 Color values are commonly stored in 1-bit monochrome , 4-bit palettized , 8-bit palettized, 16-bit highcolor and 24-bit truecolor formats. An additional alpha channel is sometimes used to retain information about pixel transparency. 以上是Color values的格式 Orz 不是很懂。 The total amount of the memory required to drive the framebuffer depends on the resolution of the output signal, and on the color depth and palette size. 而所會用到的記憶體大小就看你要顯示的多清楚了! 註一、其他memory access的方式; Mapping the entire framebuffer to a given memory range. Port commands to set...

嵌入式系統入門

Image
從網路上找到的好用資源: 嵌入式系統導覽 程式設計俱樂部 嵌入式系統 Embedded System Knowledge Base -- 推薦好書: 現代嵌入式系統開發專案實務-菜鳥成長日誌與專案經理的私房菜 -- 加油加油! --

搜尋

Agoda

熱門文章

[社會觀察] 一生順遂與命途乖舛

新鮮人找工作:職場名詞解釋 AE FAE Pre-sales Post-sales

日本旅行 去東京可以在哪邊買羽球相關用品?WEMBLEY/WINDSOR/梭家/Victoria/Alpen TOKYO/

中華民國2024 總統、副總統選舉公告發布 連署參選門檻28萬9667人 可以推薦候選人的政黨包括民進黨、國民黨、民眾黨和時力

什麼是 OTA ?

[FAANG面試] 如何準備Google Technical Program Manager (TPM) 面試

[HMD Global] Nokia 2020 新手機發布 首款 5G 手機 Nokia 8.3 預計夏季開賣 !

關於中國:202X年

[表特][Passion Sisters] 中信兄弟PS女孩 浮誇甜心 凱蒂 炸裂全場~ 小許瑋甯

[音樂] 霖霖 新單曲:給你了