原创 freetype 交叉編譯

*libfreetype.so *libpng.so *libz.so *libfreetype.so ./configure --prefix=/opt/include --host=mipsel-li

原创 FOS雙向鏈表

雙向鏈表作用 雙向鏈表接口使用 雙向鏈表實現 雙向鏈表作用 雙向鏈表(以下用double list)是一種基本的數據結構,在FOS中,消息隊列、阻塞隊列、就緒隊列、信號量隊列等等都是由底層的double list串接起來的,相比單

原创 優秀程序員的生活品質

1。 優秀的程序員都具備幽默感,能給人舒心的感覺。因爲在機器代碼的世界裏,優秀程序員的大腦是緊繃着,他們很需要人與人有趣的交流。 2。優秀的程序員不管那方便都是謙遜的,能示弱於人,甘願做配角。因爲優秀的程序員很多事情都看淡了。 3。優

原创 RTOS一般鎖保護使用與解決死鎖問題

RTOS有時候會因爲用戶的一句代碼造成實時性或是性能降低,鎖的正確使用更是能體現這一點。 一、RTOS一般鎖使用情景: Semaphore:適用於較長代碼的保護,或是任務之間、中斷與任務之間的同步。如果該函數會引起任務阻塞,則不可以在中斷

原创 基於framebuffer顯示圖片(bmp && png)和漢字

章節 1 功能描述 2 圖片顯示,字體顯示接口 3 使用實例 功能描述 圖片顯示: 支持位置設置,支持BMP && PNG格式的圖片,程序通過讀取bmp&&PNG圖片的路徑,解析圖片的點陣掩碼mask,再把mask寫入framebuf

原创 優秀軟件攻城獅團隊的氛圍

1. 重視單元測試與集成測試; 2. 積極參與技術論壇,技術講座分享; 3. 極客精神,快速學習,快速發現問題,快速解決問題; 4. 樂於開源分享,學會使用開源軟件解決問題; 5. 全系統看待問題,多點對軟件的思考。 6. 不加

原创 C語言使用注意點

1. 函數參數爲一級指針,函數內部參數的指針改變並不影響原來傳入指針本身的值。 void ptr_mdy(void *ptr) { ptr = malloc(100); assert(ptr); printf("In the fu

原创 敏捷開發總結

第一條 每個人都應該明確自己的目標 ,現實生活中我發現很多人都容易發散思維去做一件事情結果做一件事情導致做好幾件事情,最後這件事情並沒有做好也導致時間大量的流失,正確的字做法是盯住一件事情做,看板工具就很好的把自己的任務明確起來. 第二

原创 爲何使用RTOS與商業如何選擇哪個RTOS

一、爲什麼要使用RTOS?個人覺得如下: 1. 當代碼量超過上萬行時,需要有一個穩定的,結構清晰的框架,方便後面開發與維護,而且對於新人對接較快。 2. RTOS中間件比較多,可以方便移植使用。 3. 用RTOS寫task,可以做到更加模

原创 FOS信號量管理

一般的RTOS會通過初始化信號量建立相對應的阻塞鏈表。這樣做會增加使用資源。 FOS主要通過semaphore阻塞隊列管理信號量。把被semaphore阻塞的任務掛在該鏈表上。而且自始至終都使用一條鏈表。

原创 嵌入式實時操作系統FOS簡介

FOS目前支持的功能: 1. 支持多任務運行, 支持基於優先級任務調度,支持同等優先級FIFO調度。 2. 支持message queue。 3. 支持信號量, 支持互斥鎖, 支持優先級置頂算法。 4. 支持軟定時器、延時函數。 5. 支

原创 mutex和semaphore不爲人知的祕密

mutex 緣由: 試想這麼一個問題: 優先級 task1 > task2 > task3, 並且擁有同一資源。 task3運行,並且獲取資源,這時候task1運行搶佔資源,task1獲取不到資源阻塞,這

原创 openwrt 默認gpio-leds配置和網絡配置

一、GPIO-LED 1. 首先查看電路,看看led燈接在哪個IO口,然後設置gpio口 DTS文件gpio-leds內容 gpio-leds {compatible = "gpio-leds";wan {label = "deco:wa

原创 gdbserver

target system: gdbserver --debug --remote-debug 127.0.0.1:3333 test host system: gdb test && target remote 127.0.0.1:33

原创 openwrt添加已經支持的cpu的bsp

openwrt添加已經支持的cpu的bsp: 例如我要添加的板級叫FOS, 1. tartget/linux/ramips/base-files/lib/ramips.sh 在ramips_board_d