Kernel debug over SPI - checkpoint篇
發表於 : 週一 11月 23, 2009 9:04 am
之前都已經為大家介紹過了可以利用SAMEDISK ZC25系列的SPI flash 模擬器來做debug
透過特殊的SPI 86 或 87 command
就可以簡單的丟出 2 byte的debug message來加速偵錯
這個有一個比較不錯的好處是萬一您的系統找不到debug的出路的話
那就能透過這種方式來做
另一個優點是SPI BUS可以在更前面的BOOTBLOCK的階段就可以開始丟訊息了
如果您遇到是在COM Port或是USB等HOST都還沒有initial到就掛了
這時候就會用得到啦
當然囉
不管你的platform是X86, MIPS或是ARM都可以用
只要有接SPI flash就可以簡單達成啦(因為是直接 hook 在 SPI flash 的bus上)
這樣就不用受限於開發板上的design fail或是cost down issue導致該留的debug通路消失
而不知所措啦
您可能會問說 那如果 SPI 的 BUS也 fail了怎麼辦
那您的板子恐怕連要boot都會有問題
應該趕快丟回去給HW工程師了請他想辦法先把SPI BUS打通了
呵呵
SAMEDISK目前所有ZC25系列的模擬器ZC2580, ZC2564, ZC25128等三款都有support這個功能
這項功能已經列入正式配備, 將來後續的機種也會繼續support這個功能.
可以log 128筆的debug messages history.
有鑑於研發部門可能才有機會能使用到SPI flahs模擬器
所以我們也為後段測試的人員準備了ZC1001 SPI deubg dongle
這個小kit非常的實用
讓您不需要擁有SPI flash模擬器也可以得到相同效果
只要用燒好code的SPI flash就一樣可以接收86 87 command並秀出 2 bytes 的 debug messages.
這樣前後段都可以統一利用相同的debug工具當然就可以更有效的加速整個研發測試流程
聽我講半天還不如來看個實際應用操作的影片比較快
這幾年已經有許多客戶導入使用中
客戶的Feedback當中
最令我感動且印象深刻的一句在這邊跟大家分享
這是我有一次在客戶端閒聊問客戶為什麼會需要這種功能的時候
客戶對我語重心長的說
"你知道嗎?
有些時候真的要從板子上丟一個byte出來都是一件很奢侈的事!"
我點頭了
如果您也真正遇過這種完全陷入絕境的狀況您也一定會點頭認同!
邊點頭邊開始看影片吧!
影片內容:
Part.1.
選用Eagle lake的亞洲公板, 板子上面剛好有一個 80 port的 dispaly
透過ZC2564 SPI Flash emulator的Samefile中的debug view
可以看到裡面的86 87 command的小視窗
丟出和 80 port一樣的checkpoint messages
Part.2.
將SPI模擬器配合ZC2511 SPI flash programmer
切換對拷模式直接對SPI flash chip作燒錄
無須插拔切換USB且不佔用USB port
重點是只要輕按一鍵即可完成
不需要任何驅動程式與燒錄程式
Part.3.
將模擬器換成ZC1001 SPI debug dongle
一樣可以丟出與 80 port 一樣的訊息
底下這個是三合一的整合版本
透過特殊的SPI 86 或 87 command
就可以簡單的丟出 2 byte的debug message來加速偵錯
這個有一個比較不錯的好處是萬一您的系統找不到debug的出路的話
那就能透過這種方式來做
另一個優點是SPI BUS可以在更前面的BOOTBLOCK的階段就可以開始丟訊息了
如果您遇到是在COM Port或是USB等HOST都還沒有initial到就掛了
這時候就會用得到啦
當然囉
不管你的platform是X86, MIPS或是ARM都可以用
只要有接SPI flash就可以簡單達成啦(因為是直接 hook 在 SPI flash 的bus上)
這樣就不用受限於開發板上的design fail或是cost down issue導致該留的debug通路消失
而不知所措啦
您可能會問說 那如果 SPI 的 BUS也 fail了怎麼辦
那您的板子恐怕連要boot都會有問題
應該趕快丟回去給HW工程師了請他想辦法先把SPI BUS打通了
呵呵
SAMEDISK目前所有ZC25系列的模擬器ZC2580, ZC2564, ZC25128等三款都有support這個功能
這項功能已經列入正式配備, 將來後續的機種也會繼續support這個功能.
可以log 128筆的debug messages history.
有鑑於研發部門可能才有機會能使用到SPI flahs模擬器
所以我們也為後段測試的人員準備了ZC1001 SPI deubg dongle
這個小kit非常的實用
讓您不需要擁有SPI flash模擬器也可以得到相同效果
只要用燒好code的SPI flash就一樣可以接收86 87 command並秀出 2 bytes 的 debug messages.
這樣前後段都可以統一利用相同的debug工具當然就可以更有效的加速整個研發測試流程
聽我講半天還不如來看個實際應用操作的影片比較快
這幾年已經有許多客戶導入使用中
客戶的Feedback當中
最令我感動且印象深刻的一句在這邊跟大家分享
這是我有一次在客戶端閒聊問客戶為什麼會需要這種功能的時候
客戶對我語重心長的說
"你知道嗎?
有些時候真的要從板子上丟一個byte出來都是一件很奢侈的事!"
我點頭了
如果您也真正遇過這種完全陷入絕境的狀況您也一定會點頭認同!
邊點頭邊開始看影片吧!
影片內容:
Part.1.
選用Eagle lake的亞洲公板, 板子上面剛好有一個 80 port的 dispaly
透過ZC2564 SPI Flash emulator的Samefile中的debug view
可以看到裡面的86 87 command的小視窗
丟出和 80 port一樣的checkpoint messages
Part.2.
將SPI模擬器配合ZC2511 SPI flash programmer
切換對拷模式直接對SPI flash chip作燒錄
無須插拔切換USB且不佔用USB port
重點是只要輕按一鍵即可完成
不需要任何驅動程式與燒錄程式
Part.3.
將模擬器換成ZC1001 SPI debug dongle
一樣可以丟出與 80 port 一樣的訊息
底下這個是三合一的整合版本