Flash upgrade failed

Environment : Ubuntu 18.04

Board : KL520 AI SoC development kit

Built-in FW version : SDK v0.9.5 build1 ()

Unable to open uart according to documentation.

log :

zack_lo@NUC8i3BEH:~/kneron/KL520_SDK_1.7.0/KL520_SDK/utils/flash_programmer$ python3.6 flash_programmer.py -a kdp2_flash_image.bin 

Uart port open fail

---------------------------------------

lsusb info:

zack_lo@NUC8i3BEH:~/kneron/KL520_SDK_1.7.0/KL520_SDK/utils/flash_programmer$ lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 004: ID 046d:c016 Logitech, Inc. Optical Wheel Mouse

Bus 001 Device 003: ID 1a2c:0b2a China Resource Semico Co., Ltd 

Bus 001 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Bus 001 Device 005: ID 8087:0aaa Intel Corp. 

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

------------------------------------------

tty info :

zack_lo@NUC8i3BEH:~/kneron/KL520_SDK_1.7.0/KL520_SDK/utils/flash_programmer$ dmesg | grep tty

[   [  [   [  [   [  [   [  [   [  [   [  [   [  [   [  0.077303] printk: console [tty0] enabled

[  4.288518] usb 1-2: pl2303 converter now attached to ttyUSB0

--------------------------------------------

setup.py info :

zack_lo@NUC8i3BEH:~/kneron/KL520_SDK_1.7.0/KL520_SDK/utils/flash_programmer$ vi setup.py

KNERON_UART = "/dev/kneron_uart"

UART_COM_ID = 0 # COM5

UART_BLOCK = 0x1000

-------------------------------------------------

10-local.rules info :

zack_lo@NUC8i3BEH:~/kneron/KL520_SDK_1.7.0/KL520_SDK/utils/flash_programmer$ vi /etc/udev/rules.d/10-local.rules

KERNEL=="ttyUSB0",ATTRS{idVendor}=="067b",ATTRS{idProduct}=="2303",MODE="0777",GROUP="dialout"

Comments

  • 看起來可能是沒有抓到對應UART的usb port,可以先輸入下面指令來列出所有的裝置

    ls /dev

    連接UART的usb線應該會是 ttyUSBx (x為數字)

    即可對應修改setup.py中的ID,改為ttyUSBx

  • 1) 之前提供的資訊應該是有連接UART的usb線吧?

    $ lsusb

    Bus 001 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

    $ dmesg | grep tty

    printk: console [tty0] enabled

    usb 1-2: pl2303 converter now attached to ttyUSB0

    -------------------

    setup.py 修改以下.

    UART_COM_ID = 0

    --------------------

    上述是目前狀況但還是會出現以下..

    $ python3.6 flash_programmer.py -a kdp2_flash_image.bin 

    Uart port open fail


    2) 另外若是電腦沒有連接到UART的usb線, 那使用spi boot時會有訊息嗎?

    以下是SPI boot 的log.

    BOOT MODE: SPI                                 

    SPL Boot Start..                                

    == Successfunlclpyu :l oaRdeaedd y!S                      

    PU and NCPU FW & passed integrity check ==                   

                                            

    === From Bootloader ===        

    === [I am SCPU] firmware version: SDK v0.9.5 build1 ===                    

    === This is host mode ===       

    -> Bootup Status: 0x100 <-                                 

    : Hardware Reset                

    [kl520_api_camera_setting] m_camera_ctx[0].width:640, height:480, ret:0                    

    [kl520_api_camera_setting] m_camera_ctx[1].width:480, height:640, ret:0                        

                                            

    === Klp520 sample app console Test Kit (18) ===                                       

    ( 1) Combo: Prepare RGB/NIR Inference                    

    ( 2) Combo: Close RGB/NIR/PANEL Display                                        

    ( 3) Switch camera source on display                     

    ( 4) Start face recognition       

    ( 5) Stop face recognition                                 

    ( 6) Manual register user face                  

    ( 7) Auto register user face   

    ( 8) Auto register 5 position face                         

    ( 9) Abort registration record         

    (10) Add user face to database                                 

    (11) Delete user face from database               

    (12) Delete all user faces from database                                  

    (13) Stability recognition test                  

    (14) Get system information    

    (15) Change draw FDR result mode                           

    (16) open NIR led                  

    (17) close NIR led         

    (18) Quit    

  • edited June 2022

    你誤會了,雖然電腦有抓到USB to TTL (UART)的線,但我指的是在執行flash_programmer.py的時候程式抓不到該USB port的連線,下列幾種情況都可能導致抓不到

    1. 沒有連接到電腦上 (由你提供的訊息可以排除此項)
    2. 設定的USB port number有誤,因此請你檢查ttyUSBx的x是多少
    3. 該USB port被其他裝置占用,例如開著terminal觀看UART訊息的同時,flash_programmer.py時會無法存取USB,需要先關掉terminal (tera term or putty, minicom等)

    建議步驟如下

    先透過terminal 確定開機時會進到boot mode manual


    此時關閉terminal,然後執行指令 (python3.6 flash_programmer.py -a kdp2_flash_image.bin )


    再依照指示按下reset button後就會開始進行燒錄

  • KL520 AI SoC development kit 板子上有一個 SW3 切換開關, 原本是切在OFF "auto boot from spi", 需切到ON "manual boot mode" 才是貴司說的log, 然而切到這個方式就能夠做燒入了, 看起來是無法在"auto boot from spi" 的模式下做燒入.

    另外想請教一下, 我使用SDK1.7 版本內的"kdp2_flash_image.bin" 檔案, 是否可以利用這個firmware做一些簡單的硬體測試? 因為一開機後會出現以下log, 然後LCD畫面全白.

    BOOT MODE: Manual                                

    1. SPI                                      

    2. UART(Xmodem)                                 

    Please select boot mode[1-2]: 1                         

                                       

    === KDP2 Loader ===                               

    [K2FL] ver 2.0                                  

    [K2FL] flash-boot mode                              

    [K2FL] starting SCPU ..                             

                                             

    [0.000]                                     

    [0.000] starting KDP2 middleware ...                   

    [0.000] creating image queue with s0

    0

    e

    h

    !

  • 是的,需切換開關來選擇boot mode,詳細說明可以參考文件中的步驟

    2.4. Set bootstrap settings to manual boot mode (Program Flash via UART0 Interface)

    http://doc.kneron.com/docs/#520_1.7.0/flash_management/flash_management/



    想請問想執行哪部分的硬體測試? 從log來看你現在所燒錄的已經是kdp2的firmware,若只是要確認usb傳輸與NPU推論功能的話,可以參考文件下載PLUS並編譯,即可透過範例執行推論

    http://doc.kneron.com/docs/#plus_c/getting_started/#4-run-generic-inference-with-post-process

  • 下載plus並編譯出了bin/ 目錄, 但只能執行" ./scan_devices ", 如下..

    ./scan_devices 

    scanning kneron devices ...

    number of Kneron devices found: 1


    listing devices infomation as follows:


    [0] scan_index: '0'

    [0] port ID: '5'

    [0] product_id: '0x100' (KL520)

    [0] USB link speed: 'High-Speed'

    [0] USB port path: '1-1'

    [0] kn_number: '0x    0' (invalid)

    [0] Connectable: 'False'

    [0] Firmware: 'KDP2 Comp / F'


    執行其它的都會出現"connect device ... failed", 如下...請問這有可能是什麼原因?

    ./kl520_demo_generic_inference

    connect device ... failed

    Segmentation fault (core dumped)


    ./kl520_demo_user_define_api 

    connect device ... failed

    Segmentation fault (core dumped)

  • 請問是否是使用管理者權限執行,若要在ubuntu上執行需擁有管理者權限才可使用usb,或在指令前方加上sudo

    http://doc.kneron.com/docs/#plus_c/getting_started/#4-run-generic-inference-with-post-process

  • 目前確認是權限問題導致執行example 會fail, 不過想另外再請教以下,

    1.因為購買的是KL520 AI SoC development kit , 它還包含了鏡頭及LCD的週邊, 是否能使用官方提供的檔案或程式做這些週邊的硬體測試?

    ex : 利用kneron plus 讓鏡頭輸入現場的影像由LCD輸出, 或是其它方式...

    2.因為當初購買時還一並買了3個AI APP, 但因為下載APP需要註冊產品, 然而當初內建的FW無法使用USB的功能, 導致無法在官方網路上註冊,

    之後更新FW也花了一些時間才成功, 現在想去註冊下載APP, 卻發現APP 已無法下載(訂單如下), 請問這個要如何處理??


  • @Shawn Yang

    Hi Shawn,

    1.因為購買的是KL520 AI SoC development kit , 它還包含了鏡頭及LCD的週邊, 是否能使用官方提供的檔案或程式做這些週邊的硬體測試?

    ex : 利用kneron plus 讓鏡頭輸入現場的影像由LCD輸出, 或是其它方式...

    Ans:

    您使用 KL520 AI SoC development kit ,如果需要使用鏡頭與 LCD 需要用到 host mode 的 fw,您可以使用 KL520_SDK_v1.7.0 (Kneron PLUS supported)

    使用範例:http://doc.kneron.com/docs/#520_1.7.0/sdk/appendix/

    下載網址:https://www.kneron.com/tw/support/developers/

    而 Kneron Plus 指的是 companion 用法,只會用到 KL520 AI SoC development kit 上的 USB。

    舉例來說,電腦透過 USB 將資料送到 KL520 推論,並將推論結果透過 USB 回傳到電腦,最後由電腦得到處理的結果。

    參考網址:http://doc.kneron.com/docs/#plus_c/introduction/run_examples/


    2.因為當初購買時還一並買了3個AI APP, 但因為下載APP需要註冊產品, 然而當初內建的FW無法使用USB的功能, 導致無法在官方網路上註冊,

    之後更新FW也花了一些時間才成功, 現在想去註冊下載APP, 卻發現APP 已無法下載(訂單如下), 請問這個要如何處理??

    Ans:

    無法下載這部分已經幫您反饋給相關同仁了,有消息會再通知您。

  • Hello,

    KNEO無法下載App的部份已經修正了,請重新登入後即可下載

  • hi,

    我剛註冊產品, 它要我輸入email, 我以為是用來做驗證碼的傳送, 所以我使用常用的email "shawn_yang@wtmec.com' , 然後我去AI APP要下載時, 它說我沒有註冊的設備, 是不是這個email 要使用跟Account一樣的email? ( 原本account : michelle@teksource.com.tw )

    因為當初是公司採購去購買的, 也不是我的email, 可以將這個account 改成"shawn_yang@wtmec.com"嗎?

  • edited June 2022

    聽起來是不小心將設備綁訂在私人信箱上,但實際上是希望綁訂在公司的帳號嗎?

    透過綁訂設備的utility可以做裝置的移轉喔


    首先,先用你的<私人信箱>登入https://www.kneo.ai/,若先前有成功綁訂的話,在<我的設備>中應該可以看到對應的產品


    接著開啟utility,登入<私人帳號>後插上希望移轉的裝置,重新執行綁訂流程,當綁訂完成時,同時可以看到下面的頁面,點選<轉移此設備>

    接著就會出現欄位讓你輸入信箱,此時輸入<公司帳號>的信箱,就會將此設備轉到<公司帳號>的名下


  • 感謝協助, 目前已可下載AI APP, 不過想再請教一下...

    1.下載的AI APP 內容裡有"kdp2_fw_ncpu.bin" and "kdp2_fw_scpu.bin" and "models_520.nef" 三個FW需要的檔案, 這個一定要用kneron_DFUT做更新嗎? 若我想用UART 更新, 是否跟"http://doc.kneron.com/docs/#520_1.7.0/flash_management/flash_management/" 的3.4 內容做法一樣, 只需將上述的3個檔案換掉, 其它使用原始SDK內的即可?

    2.下載的AI APP都需要使用到cam, 這個部份是要另外接cam到pc上嗎? 還是可以使用kl520 AI SoC development kit 上的cam module ?

    3.我這邊依照"http://doc.kneron.com/docs/#520_1.7.0/sdk/appendix/", 測試host mode的example, 它只會在第一次偵測到人物時畫黃色方框, 之後就不會了, 這是正常的嗎? 若是正常, 我需要改為一直偵測到人物就會一直畫框的話, 我需要改example code的那個部份?

    1. 如你所說的,若是想要燒錄的話可以按照3.4的做法透過UART,但是App全部都是走usb通訊,在已經更新成kdp2系列的情況下(flash中有燒錄 kdp2_fw_loader.bin ),會在通訊時將fw.bin & model.nef透過usb傳入IC,不需要事先做燒錄動作
    2. 不行,AI APP的使用場景下,KL520僅處理AI相關的運算,影像圖片等都必須處理好之後才傳入KL520,因此,AI APP中的python code會有相關的流程,包含開啟usb webcam, 處理影像送入KL520,收取ai結果與呈現
    3. 這不太正常,host mode的example會跑tiny yolo v3模型,並框出偵測到的物體。另外補充說明一下,appendix中的範例tiny_yolo_v3_host_usbout是在說明收到結果後如何將資訊透過usb傳送出來
The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.