原创 Android BlueDroid分析: OSI中的List與alloctor的實現分析

說明 在bluedroid中有許多數據是使用List來保存的, 而不同的數據的size各不相同,因此bluedroid中的osi封裝了一個list. 不同的OS的malloc與free各不相同,因此爲了屏蔽底層細節bluedroid對ma

原创 OpenWRT中使用無線網卡做中繼器與AP熱點

中繼器與AP的實現 這裏我們假定中繼器完成下面這樣的一個功能: Wired Network ---> Wireless Network ---> 上級無線路由器 即從外部插入一個網線,通過imx6UL上面的無線網卡將數據轉發到上級的路

原创 SonarQube 靜態代碼檢查的安裝

緣起 時隔多年,又開始搭建Git Server 和 CI(以前的文章:用gitlabCI快速搭建一個GitServer與CI)。 現在的Gitlab已經不再是2015年那個時候的Gitlab了。這次,是需要添加SonarQube用於代碼檢

原创 Android BlueDroid分析: 配置文件(bt_stack.conf bt_vendor.conf )的加載與分析

說明 在Android BlueDroid啓動,即stack啓動的時候,回去加載好幾個配置文件, 然後BlueDroid Stack根據這幾個配置文件會進行調整, 例如Device ID(did), Log相關的Trace Level,

原创 Ubuntu下面包依賴損壞的解決unmet dependencies

2017-1-4 更新 在原來的文章中提到過使用gzip壓縮changelog得到changelog.debian.gz,然後覆蓋掉原來的,從而達到欺騙系統認爲的軟件包的版本問題, 但是這樣的話需要自己手動定位找到並且壓縮, 像pulse

原创 OpenWRT中使用mpd作爲音頻Server及其使用

說明 MPD可以播放音樂與streaming Radio,可以用於娛樂用。其官網的說法爲: Music Player Daemon (MPD) is a flexible, powerful, server-side applicatio

原创 【IMX6UL開發板試用體驗】上手試用與資源使用

緣起 這個是我拿到的第二塊工控板了,前面是AM335X的板子。這塊板子也是工業板。相比一些“開發板”而言還是有一些區別的。 硬件 和以前的AM335X板子一樣,做工和用料比較紮實,該有的都有,連插針都是鍍金的。讓人非常放心的感覺。不愧是

原创 程序員修電腦必備: 使用Grub2製作一個多系統(WinPE與Linux, Android X86)啓動的維護移動硬盤和U盤

說明 多臺計算機安裝了不同的系統(Windows, Linux, MacOS), 如果要對系統進行重裝或者維護, 每一次都是重新制作啓動和維護移動存儲設備, 爲了節省時間, 考慮製作一個即可啓動和維護Windows的也可以啓動和安裝Lin

原创 Android BlueDroid分析: OSI中的reactor的實現與使用分析

說明 actor相當於內核中的worker, 用於監控與執行任務. reactor可以認爲是: re+actor. 監控使用的是epoll, 而執行任務使用的是對應的epoll_wait返回後的event type, 然後調用相關的rea

原创 Andorid BlueDroid分析: Semophore的實現分析

實現 在BlueDroid的OSI/src目錄下存放的是Operating System Interface相關的封裝與實現, 其中semophore.c實現了父子進程間的Semophore, 可以用來對父子進程間執行順序的控制,完成No

原创 Android BlueDroid分析: Linux中的Eventfd

來源 Linux專有的同步機制, 需要內核高於2.6.22, 下面是引用 <<The Linux Programming Interface>>這本書中的說明: 從man手冊中有如下的描述:  eventfd() creates an

原创 【IMX6UL開發板試用體驗】OpenWRT在iMX6UL上面的移植與編譯

選擇 OpenWRT在最近的時期分裂出了LEDE出來,因此這就涉及到了這兩個的選擇。 前段時間,編譯過LEDE用於樹莓派3,於是想着直接使用以前的LEDE,這樣子省去了下載,畢竟在國內下載很多source code可能需要很長的時間,如果

原创 如何減少Android源碼size並打包與切割上傳共享

源碼很大的原因 repo sync下Android的代碼, 然後編譯後,一般size都在60GB左右, 主要是因爲代碼中包含了out編譯結果產物目錄, 以及版本相關的.git與.repo目錄, 如果不打包這兩個目錄, 那麼常規的Andro

原创 【IMX6UL開發板試用體驗】OpenWRT有線網絡的配置

在前面編譯完成後,就可以燒寫測試啓動了。 但是啓動後發現了一些問題。本次我們說明一下如何使用OpenWrt中的wired LAN。 網卡驅動問題 本身板子有兩個網口,其中一個沒有變壓器轉換器,另外一個在Uboot中使用是沒有問題的,可以正

原创 樹莓派3的調試串口問題的不完美解決:讓藍牙與調試共存

問題 因爲RaspberryPi3的BT與Debug串口共用,導致同一時間只能有一個可以使用,儘管也可以使用軟的UART1來控制BT,但是這樣子的話需要將CPU的頻率固定.  而我們在實際開發中,在mount rootfs之前. 是需要用