將tiny4412的usb線、串列埠線與電腦連線,在win7+虛擬機器ubuntu的環境下,在win7環境中用驅動精靈裝上串列埠的驅動,在虛擬機器中應該就能檢測到串列埠,我這裡採用的是usb轉串列埠驅動,在ubuntu中用lsusb命令可以查詢到是否檢測到串列埠,如下圖:
解壓縮,之後會看到dnw_linux資料夾,進入該資料夾
$ cd dnw_linux
$ ls
$ /dnw /secbulk
進入secbulk資料夾,輸入編譯命令,編譯成模組。(我自己修改了makefile,因此大家只需make就可編譯,make clean 就可清除編譯。修改後的makefile如下:
obj-m := secbulk.okdir := /lib/modules/`uname -r`/build
pwd := $(shell pwd)
default:
$(make) -c $(kdir) subdirs=$(pwd) modules
clean:
$(make) -c $(kdir) subdirs=$(pwd) clean
rm -rf *.order *.symvers
static至此,**修改完畢!struct usb_device_id secbulk_table= ,
};
$ make
之後在資料夾中會有secbulk.ko模組檔案,如下圖所示:
載入該模組到核心(注意:需要root許可權)
$ sudo insmod secbulk.ko
載入後用dmesg命令可以看到模組已經成功載入
[ 238.007970] secbulk:secbulk loaded
[ 238.009101] usbcore: registered new inte***ce driver secbulk
常見問題: can not open /dev/secbulk0, 則表示該模組沒有載入成功或者dnw沒有root許可權
通過lsmod可以看看載入成功沒。
$ lsmod | grep secbulk
進入dnw資料夾
$ cd dnw
$ gcc –o dnw dnw.c
可能會有一些警告,不過可以忽略。在dnw下生成dnw工具
將dnw複製到/bin目錄下,這樣就可以在任意檔案目錄下呼叫dnw命令。
溫馨技巧: 因為要用dnw的話,要確保secbulk驅動載入到核心,為了避免每次都要手動載入,因此修改/etc/init.d/rc.local檔案(root許可權),在後面加上下面一句:
insmod /….你的secbulk.ko檔案目錄/secbulk.ko
儲存退出完事
將secbulk.c中的
#define bulkout_buffer_size32
改為#define bulkout_buffer_size 512
新問題又出現了:在writing data…期間,寫到10%的時候就出現failed!,我試好多次都是這個問題。現在正在解決中。。。
3.3
go 0x50008000
一種解決方法是:
有時候由於核心的公升級,執行時會提醒can not open/dev/secbulk0
的錯誤,此時需要重新到secbulk目錄執行
$make-c /lib/modules/`uname -r`/build m=`pwd` modules,然後載入模組$sudo insmod./secbulk.ko即可!
經過dmesg檢視和許可權檢查,發現問題都不在這!根據提示資訊,是否該檢查一下是否有/dev/secbulk0 這個裝置!!??
通過檢視/dev/ 下的裝置,發現我的電腦secbulk的從裝置號是1。如下圖
開啟dnw.c原始碼 看見如圖
修改從裝置號為1後如下,
經過這樣的修改,然後重新編譯dnw , 執行結果如下:
呼叫dnw時只能在當前目錄使用./dnw執行,對此情況,將dnw新增到/usr/local/sbin中,這樣可以在
任何目錄,使用 sudo dnw filename來呼叫。
tiny4412 從u boot開始(一)
準備業餘時間把armv7 contex a9 的exynos4412從頭搞一下。之前學了一些簡單的彙編指令,現在開始在uboot啟動後進行裸板測試。原始碼 uboot tiny4412 20130729.tgz 先關閉mmu diff git a board samsung tiny4412 con...
tiny4412看門狗的禁用
看門狗所在位址為0x10060000 看門狗暫存器的最後一位是禁止位,當最後一位為0的時候將禁用看門狗 在arm架構下,資料從記憶體到cpu之間的移動只能通過ldr str指令來完成.而mov只能在暫存器之間移動資料,或者把立即數移動到暫存器中,並且資料的長度不能超過8位 define pwtcon...
基於tiny4412的u boot移植(一)
開發環境 win7 64位 vmware11 ubuntu14.04 64位 開發板 tiny4412adk s700 4gb emmc 1g ddr3 工具鏈 友善之臂提供的 arm linux gcc version 4.5.1 要移植的u boot版本 u boot 2015 10 本博文簡要...