[求助] micropython移植到正点原子F767的問題

ericchu923   2018-9-17 15:28 楼主
各位論壇的前輩好,我目前在研究正点f767阿波羅的開發版移植到micropython。 系統環境在win10下搭載ubuntu的APP,再安裝gcc交叉編譯器安裝。 成功產生了hex文件,手邊也有ST-LINK/V2燒錄器,也擦除燒錄了 但是沒有PYFLASH的硬碟,也沒有REPL互動介面。 我的hex文件是用NUCLEO-F767ZI的固件下去燒寫。 而正点原子的MCU是STM32F767IG。 於是我想請問: 如果我要正確的移植上去,需要往哪個方向去尋找解法? ST的驅動部分是否需要使用cube去編輯? 請各位前輩不吝指教,感謝各位 本帖最后由 ericchu923 于 2018-9-18 15:41 编辑

回复评论 (15)

先看看时钟设置,是否匹配。
点赞  2018-9-17 17:14
引用: dcexpert 发表于 2018-9-17 17:14 先看看时钟设置,是否匹配。
看了很久的電路圖,外部時鐘應該是用25Mhz.... 我在stm32f7xx_hal_conf.h修改了HSE的值並重新編譯燒寫了,還是沒有抓到PYBFLASH。 1537252412136.jpg 1537252598146.jpg 目前是使用ST-link把HEX檔下載到板子上燒寫燒寫完畢後沒有看到任何有關於micropython的裝置 1537252894757.jpg 補充:編譯方面應該是沒有問題 1537252773008.jpg 想補充詢問戰艦F767是自帶DFU模式的嗎? micropython是否一定得進入DFU模式燒寫才能通過? 問題在到處爬文的教程都是進入DFU模式燒寫 而教程似乎需要去寫bootloader才看的到stm device in dfu mode(我目前無法進入左述模式) 本帖最后由 ericchu923 于 2018-9-18 14:52 编辑
点赞  2018-9-18 14:42
引用: ericchu923 发表于 2018-9-18 14:42
看了很久的電路圖,外部時鐘應該是用25Mhz....
我在stm32f7xx_hal_conf.h修改了HSE的值並重新編譯燒寫了 ...

用STLink、jlink也可以下载程序。

stm32f7xx_hal_conf.h中的频率只影响delay的实际,还有mpconfigboard.h需要修改
点赞  2018-9-18 14:54
引用: dcexpert 发表于 2018-9-18 14:54 用STLink、jlink也可以下载程序。 stm32f7xx_hal_conf.h中的频率只影响delay的实际,还有mpconfigboar ...
參考了版主的這篇文章,只修改了MICROPY_HW_CLK_PLLM()的值為25 https://bbs.eeworld.com.cn/thread-487758-1-1.html 依然是沒有出現PYFLASH磁碟.... 請問版主,f767ZI與f767IG 在ˋ我的認知內腳位部分與內部特性大略都是相同的 除了board內的檔案,還會有需要動到的源碼嗎? 不好意思,學生初試micropython,新手笨問題較多 還請不吝諒解,感謝 補充: 在mpconfigboard.h檔案中上面的敘述表示只能通過dfu或是OpenOCD 是否表示無法用st-link的方式下載到版子上? 1537256985580.jpg 本帖最后由 ericchu923 于 2018-9-18 15:53 编辑
点赞  2018-9-18 15:31
引用: ericchu923 发表于 2018-9-18 15:31
參考了版主的這篇文章,只修改了MICROPY_HW_CLK_PLLM()的值為25
https://bbs.eeworld.com.cn/thread-4877 ...

两个MCU应该是差不多的,我估计主要问题就在时钟了。时钟需要去计算分频比,计算出正确的参数,不然USB就无法识别。因为没有楼主的板子,所以需要自己研究一下。
点赞  2018-9-18 16:00

RE: micropython移植到正点原子F767的問題

引用: dcexpert 发表于 2018-9-18 16:00
两个MCU应该是差不多的,我估计主要问题就在时钟了。时钟需要去计算分频比,计算出正确的参数,不然USB就 ...

版主您好:問題依然無法解決。 1537797618365.jpg
這是我修改過後的時鐘配置,我想應該是沒有問題的。
但是問題依然無法解決。
附上正点原子767核心板的電路圖與手邊修改的mpconfigboard.h
以及修改過後的pin.csv
祈求板主指點迷津。我覺得我該修改的修改了
不該修改的可能也動到了....
附上電路圖主要是對usb方面有疑問,因為我個人覺得這個電路跟一般的USB設計不大一樣
當然也有可能是我想太多,求板主指點迷津了
備註:正点的檔案是開源的,如有任何侵權問題請告知我,檔案會立即刪除,謝謝。


点赞  2018-9-24 22:13
引用: ericchu923 发表于 2018-9-24 22:13
版主您好:問題依然無法解決。
這是我修改過後的時鐘配置,我想應該是沒有問題的。
但是問題依然無法解 ...

因为没有这个板子,只能做初步分析。看时钟和电路图好像没有问题,如果有条件,可以用示波器查看一下,或者将REPL定义到其它串口试试,这样就知道内核跑起来没有。

还可以找一个Nucelo-F767的板子,对比看看。
点赞  2018-9-25 10:02
引用: ericchu923 发表于 2018-9-24 22:13
版主您好:問題依然無法解決。
這是我修改過後的時鐘配置,我想應該是沒有問題的。
但是問題依然無法解 ...

我感觉问题不在硬件上,多半还是某个参数设置,特别是确认一下时钟频率和时钟精度。在用别的程序确认一下硬件有没有问题。多对比一下Nucelo-F767和原子的设计,可能就可以找出问题了。
点赞  2018-9-25 10:09
引用: dcexpert 发表于 2018-9-25 10:09
我感觉问题不在硬件上,多半还是某个参数设置,特别是确认一下时钟频率和时钟精度。在用别的程序确认一下 ...

謝謝版主的指點。
定義了UART1(板子預設與CH340連接)之後
REPL目前是可運作的狀態。
1537863390141.jpg
30677.jpg
DS1綠燈(右下角紅燈旁邊)的部分因為與負緣觸發相關
所以led.on顯示為熄滅 表示有正常運作。
另外還有顯示板子型號與按下重設後不會正常運作的問題,
在目前REPL是正常的狀況下,我想我會一一去完善功能。
在此再度感謝版主的協助。

PS.最近入手了MicroPython入門指南
我想對於我未來研究會有幫助的
不勝感激!
看到LED燈熄滅的那一刻又想起最原始的感動
点赞  2018-9-25 16:22
引用: ericchu923 发表于 2018-9-25 16:22
謝謝版主的指點。
定義了UART1(板子預設與CH340連接)之後
REPL目前是可運作的狀態。


DS1綠燈(右下 ...

点赞  2018-9-25 16:51
版主您好:
我重新編譯過幾次,現在發生了一個問題:
我重新設定了紅燈綠燈的接腳與時鐘配置後重新編譯
接腳只有改變UART與LED的配置,其他沒有任何改變。
(我想不改變接腳配置影響也不大)
但在更改UART配置的時候遇到了兩種情況:
一個是紅綠燈恆亮,而另一個是紅綠燈慢速閃爍,
兩種狀況下皆無法開啟REPL。
47418.jpg
且IC有溫度,我推斷是有在運作。
但是無法開啟REPL,請問是否是硬體問題或是軟體問題?
附上mpconfig.h,懇請版主提供意見。
点赞  2018-10-10 14:45
引用: ericchu923 发表于 2018-9-25 16:22
謝謝版主的指點。
定義了UART1(板子預設與CH340連接)之後
REPL目前是可運作的狀態。


DS1綠燈(右下 ...

楼主,如何设置,望不吝分享。我的是正点原子的F429
点赞  2018-12-14 13:39
大神们,为何我编译出来的hex文件起始地址0x08000000开始的几个字节中的数据为0000 0320 这不科学啊,前面2个字节为0,还怎么执行呢
点赞  2018-12-14 20:16

楼主你好,我最近在将micropython移植到STM32F407IGT6芯片上,按照移植教程(https://blog.csdn.net/zhanglifu3601881/article/details/91997528),发现板子没有反应,与你的情况类似。最后改了几天终于成功移植。所做的修改主要有一下几个方面:

1、外部晶振为24MHZ,对两个文件进行相应修改

2、对照原理图,对pings.csv进行增加修改,我是增加了PH4,PI5,PI6,PI7,PI11等

3、在mpconfigboard.h中,添加 #define MICROPY_HW_UART_REPL  PYB_UART_1

   #define MICROPY_HW_UART_REPL_baud  115200 

并将   MICROPY_HW_UART1_TX  (pin_A9)    

          MICROPY_HW_UART1_RX  (pin_A10) 取消注释

因为硬件板子设计使用USB_HS模式,所以将USB_FS模式改为USB_HS 

// USB config
#define MICROPY_HW_USB_HS              (1)
#define MICROPY_HW_USB_HS_ULPI_NXT  (pin_H4)
#define MICROPY_HW_USB_HS_ULPI_DIR  (pin_I11)
#define MICROPY_HW_USB_HS_ULPI_STP  (pin_C0)
#define MICROPY_HW_USB_HS_ULPI_CLK  (pin_A5)
#define MICROPY_HW_USB_OTG_HS_ULPI_D0  (pin_A3)
#define MICROPY_HW_USB_OTG_HS_ULPI_D1  (pin_B0)
#define MICROPY_HW_USB_OTG_HS_ULPI_D2  (pin_B1)
#define MICROPY_HW_USB_OTG_HS_ULPI_D3  (pin_B10)
#define MICROPY_HW_USB_OTG_HS_ULPI_D4  (pin_B11)
#define MICROPY_HW_USB_OTG_HS_ULPI_D5  (pin_B12)
#define MICROPY_HW_USB_OTG_HS_ULPI_D6  (pin_B13)
#define MICROPY_HW_USB_OTG_HS_ULPI_D7  (pin_B5)
//#define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9)   注释掉这两行FS
//#define MICROPY_HW_USB_OTG_ID_PIN      (pin_A10)    注释掉这两行FS

 

做了这些修改,程序下载完成重启后,usb连接到OTGusb口,电脑出现了虚拟串口和PYBFLASH磁盘。

以上是我遇到的问题,以及移植修改内容,希望能给有相同问题的朋友一点启示。每个人的板子硬件设计可能略有不同,所以还需要大家结合自己的板子来进行移植。希望大家都能成功哦!

点赞  2020-6-1 14:55
引用: red_wu1975 发表于 2018-12-14 13:39 楼主,如何设置,望不吝分享。我的是正点原子的F429

请问你把正点原子的移植好了吗?我也是stm32f429

 

点赞  2021-3-29 17:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复