2014.07.06 增加加入.vbox 時,找不到 DVD Image 的解決方法。
開始用 GitHub 管理修改的 Kernel 原始碼後,
為了讓程式碼可以隨時跟上最新修改,
把 Cross Compile 用的環境也做了大修改,
清掉許多不需要的STLinux套件,
再更新到最新版 STLinux 2.4 套件,
整個映像檔(內含解開的 kernel source)只有約 2GB,
壓縮後約450MB。
http://sync.hamicloud.net/_oops/rexct/mha
找不到 DVD Image 的解決方法:
以文字編輯軟體開啟解壓縮出的 CentOS_64\CentOS_64.vbox ,
將 <DVDImages> 與 </DVDImages> 之間(15行到22行)的 <Image .... > 刪除。
奇怪,之前在Windows下測試時好好的。
2013年12月9日 星期一
2013年12月1日 星期日
修正LED狀態、使用 Timer 和 gpio Trigger 及編入 STx7105 內建音效支援
在測試 retain_state_suspended 時,
發現 suspend 時不維持 LED 狀態(0)會變成全亮,
原因是 active_low 設定錯了,
要設定為 0 才符合實際狀態,
Heartbeat trigger 也變成比較像心跳那樣閃兩下,
而不是變暗兩次。
連帶 script 中控制亮暗也要變更,
(ledctl2.sh ver 2.1 http://sh4twbox.googlecode.com/files/ledctl2.sh)
如果只更換 script 沒換 kernel,
燈號控制會部份失效。
修正部份的程式碼:https://github.com/rexct/kernel-pdk7105/commit/f10f9203a5301bb87b044ab4c333d625205f6d4a
發現 suspend 時不維持 LED 狀態(0)會變成全亮,
原因是 active_low 設定錯了,
要設定為 0 才符合實際狀態,
Heartbeat trigger 也變成比較像心跳那樣閃兩下,
而不是變暗兩次。
連帶 script 中控制亮暗也要變更,
(ledctl2.sh ver 2.1 http://sh4twbox.googlecode.com/files/ledctl2.sh)
如果只更換 script 沒換 kernel,
燈號控制會部份失效。
修正部份的程式碼:https://github.com/rexct/kernel-pdk7105/commit/f10f9203a5301bb87b044ab4c333d625205f6d4a
控制 LED 的 script
檔案 http://sh4twbox.googlecode.com/files/ledctl2.sh
只能用在註冊成 Platform Device 的 LED 燈上。
只能用在註冊成 Platform Device 的 LED 燈上。
ledctl2.sh {show | red | blue | purple | off | s | r | b | p | o}
ledctl2.sh set {on | off | keep | k | TRIGGER} [on | off | keep | k | TRIGGER]
2013/12/07:修改 script 配合修正過的LED控制狀態
2013年11月24日 星期日
還無法註冊成platform device 的 LEDs 附加測速
上一篇 網樂通 reset 按鈕設定成 platform device 提到LED問題,
除了註冊裝置的程式碼是無效的註解外,
GPIO 腳位定義不對,
但是改完後還是沒出現該有的裝置。
原因可能是在手動加入的 kernel .config 項目被自動刪除。
還不能動的原始碼另開一個 branch https://github.com/rexct/kernel-pdk7105/tree/leds
最後加映可能是加上 fdma 韌體、加入編譯參數 CFLAGS="-m4a -pipe -O3 -ffast-math" 以及更新 cross-compile 環境到 2013/11/03 時,
對執行速度的影響。
除了註冊裝置的程式碼是無效的註解外,
GPIO 腳位定義不對,
但是改完後還是沒出現該有的裝置。
原因可能是在手動加入的 kernel .config 項目被自動刪除。
還不能動的原始碼另開一個 branch https://github.com/rexct/kernel-pdk7105/tree/leds
最後加映可能是加上 fdma 韌體、加入編譯參數 CFLAGS="-m4a -pipe -O3 -ffast-math" 以及更新 cross-compile 環境到 2013/11/03 時,
對執行速度的影響。
網樂通 reset 按鈕設定成 platform device
原本以為將原本完全沒設定的 reset 按鈕註冊成 platform device 會是最困難的,
之前先試著改紅外線遙控喚醒卻不好找到問題。
找了些gpio key的資料後,
順利把 reset 按鈕設定成 platform device。
除了在 dmesg 中出現下面訊息外,
evbug.c: Event. Dev: input0, Type: 1, Code: 28, Value: 1
evbug.c: Event. Dev: input0, Type: 0, Code: 0, Value: 0
evbug.c: Event. Dev: input0, Type: 1, Code: 28, Value: 0
evbug.c: Event. Dev: input0, Type: 0, Code: 0, Value: 0
意外的順利用來喚醒 suspend to ram 的系統,
雖然沒有遙控器喚醒方便,
但已經比之前只能用 WoL 和 TTL 訊號實用多了。
修改已經更新到 https://github.com/rexct/kernel-pdk7105
之前先試著改紅外線遙控喚醒卻不好找到問題。
找了些gpio key的資料後,
順利把 reset 按鈕設定成 platform device。
除了在 dmesg 中出現下面訊息外,
evbug.c: Event. Dev: input0, Type: 1, Code: 28, Value: 1
evbug.c: Event. Dev: input0, Type: 0, Code: 0, Value: 0
evbug.c: Event. Dev: input0, Type: 1, Code: 28, Value: 0
evbug.c: Event. Dev: input0, Type: 0, Code: 0, Value: 0
意外的順利用來喚醒 suspend to ram 的系統,
雖然沒有遙控器喚醒方便,
但已經比之前只能用 WoL 和 TTL 訊號實用多了。
修改已經更新到 https://github.com/rexct/kernel-pdk7105
2013年9月11日 星期三
更新編譯網樂通kernel和uboot的 VirtualBox 映像檔
主要因為有了更多功能的 twpda u-boot,
另外內附的 kernel.config 也需要更新到支援cpu frequency scaling 的設定,
也修正 make_kernel.sh 最後無法建立kernel header 的錯誤。
http://sync.hamicloud.net/_oops/rexct/2ri
557MB,解開後2.5GB。
內含由 網樂通改機俱樂部Chia-Cheng Huang (suzuke) 釋出的網樂通 kernel 2.6.32.59,
以及 dlintw釋出的 twpda u-boot v1309 。
另外內附的 kernel.config 也需要更新到支援cpu frequency scaling 的設定,
也修正 make_kernel.sh 最後無法建立kernel header 的錯誤。
http://sync.hamicloud.net/_oops/rexct/2ri
557MB,解開後2.5GB。
內含由 網樂通改機俱樂部Chia-Cheng Huang (suzuke) 釋出的網樂通 kernel 2.6.32.59,
以及 dlintw釋出的 twpda u-boot v1309 。
2013年9月5日 星期四
CScope 和在Linux用Seral port 連網樂通
要解決網樂通紅外線遙控器在網樂通改機俱樂部Chia-Cheng Huang (suzuke)釋出的 kernel 2.6.32版無法喚醒的問題,
得要從改Kernel的程式碼下手,
看到可以用CScope來追程式碼。
得要從改Kernel的程式碼下手,
看到可以用CScope來追程式碼。
2013年8月27日 星期二
mdev automount 和中場休息
一直都是用手動方式掛載USB儲存裝置,
在讓PC的ArchLinux可以自動掛載USB儲存裝置後,
覺得網樂通上面要手動實在太不人性化了。
在看 /etc/rc.sysinit 時看到 mdev,
echo /sbin/mdev > /proc/sys/kernel/hotplug
表示有新裝置接上時會叫mdev處理。
在讓PC的ArchLinux可以自動掛載USB儲存裝置後,
覺得網樂通上面要手動實在太不人性化了。
在看 /etc/rc.sysinit 時看到 mdev,
echo /sbin/mdev > /proc/sys/kernel/hotplug
表示有新裝置接上時會叫mdev處理。
2013年8月26日 星期一
增加kernel 設定和找SPI flash
週末趁著有高速電腦可以用趕快編kernel,
加了下列幾項
== System type
==== Timer and clock configuration --->
Tickless System (Dynamic Ticks)
==== CPU Frequency scaling --->
======Default CPUFreq governor
defautl scaling governor: conservative
'conservative' cpufreq governor
STMicroelectronics CPU Frequency driver
==Power management options
==== Power Management support
Power Management support
Suspend to RAM and standby (NEW)
Run-time PM core functionality (NEW)
CPU idle PM support自動調整CPU頻率生效了,
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
56250
不過我比較想要用 Ondemand governor,
有工作就馬上用全力處理完再來休息。
2013年8月23日 星期五
繼續挖GPIO
在GPIO LED初步完成控制後,下一步找 reset 按鈕。
同樣在 board/st/pdk7105/swUpdate.c 中找到 reset 按鈕相關:
static int check_key_press(void)
{
int count,cur_key,next_key,led;
led=0x00;
count=7;
cur_key=STPIO_GET_PIN(PIO0_BASSADDRESS, 1);
同樣在 board/st/pdk7105/swUpdate.c 中找到 reset 按鈕相關:
static int check_key_press(void)
{
int count,cur_key,next_key,led;
led=0x00;
count=7;
cur_key=STPIO_GET_PIN(PIO0_BASSADDRESS, 1);
2013年8月22日 星期四
2013年8月20日 星期二
繼續測試
這兩天針對周末編的核心繼續測試。
因為之前UFW(Uncomplicated Firewall)執行時出現找不到IPv6,
周末版就直接把IPv6相關的加入核心,
測試後的確是可以執行,
不過會當掉,
猜可能是連之前編的module也要一起重編。
另外測試了Wake on Lan,
確定可以傳送Magic 封包到 port 4000喚醒。
因為之前UFW(Uncomplicated Firewall)執行時出現找不到IPv6,
周末版就直接把IPv6相關的加入核心,
測試後的確是可以執行,
不過會當掉,
猜可能是連之前編的module也要一起重編。
另外測試了Wake on Lan,
確定可以傳送Magic 封包到 port 4000喚醒。
2013年8月18日 星期日
網樂通可以正常醒來了!
從之前弄好 EeePC 4GB ram 在 32bit 系統完整利用後就想把一些東西寫出來,
到現在終於動手了。
之前做好了用於VirtualBox 的CrossCompile環境後,
可以好好利用去上課時的電腦來編譯網樂通用 linux kernel,
節省編譯的時間。
不然用我手上最快的裝置 EeePC 1015B,
光kernel主檔案就要跑20分鐘啊。
上課用電腦2分鐘內解決。
至於上課,
我也不知道為什麼Android的課會上Office Access 。(Orz)
聽到table的規劃時,
突然有種回到大學最後在幫忙弄活動網站,
搞MySQL時的錯覺 。
訂閱:
文章 (Atom)