0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ST官方基于米爾STM32MP135開發(fā)板培訓課程(二)

米爾電子 ? 2023-08-03 08:01 ? 次閱讀

本文將以Myirtech的MYD-YF13X以及STM32MP135F-DK為例,接上篇培訓課程繼續(xù)講解如何使用STM32CubeMX結合Developer package實現(xiàn)最小系統(tǒng)啟動。

eb1a792e-3190-11ee-bbcf-dac502259ad0.png


4.USB啟動

USB啟動用于燒錄鏡像到外部flash, 例如NAND,SD卡等,從PC端燒錄鏡像到外部Flash是由U-Boot結合STM32CubeProgrammer完成的,配置并編譯U-Boot是燒錄的前提,根據STM32MPU的啟動順序:

TF-A->OP-TEE->U-BOOT->Linux Kernel

將U-Boot 加載到DDR中又依賴于TF-A與OP-TEE,所以USB啟動階段需要完成TF-A,OP-TEE以及U-Boot的配置及編譯。

4.1 USB啟動:TFA 配置及編譯

在USB啟動階段,TFA需要配置的外設有:調試串口UART,時鐘RCC,電源以及DDR。

4.1.1 調試串口 UART

1.查看原理圖,找到調試串口:

ebb7673e-3190-11ee-bbcf-dac502259ad0.png

ebe7c8b6-3190-11ee-bbcf-dac502259ad0.png

2.使能UART4,配置引腳以及時鐘:

ec160226-3190-11ee-bbcf-dac502259ad0.png

ec3835ee-3190-11ee-bbcf-dac502259ad0.png

ec55dc8e-3190-11ee-bbcf-dac502259ad0.png

Notes:這里邊USART4的時鐘選擇用HSI,一個原因是參考了STM32MP135F-DK的時鐘樹配置,另一個原因是考慮到低功耗工作模式下有串口喚醒的應用。排除這兩點其他的時鐘源也可以使用。

3.點擊“Generatecode”, 并添加TFA階段的串口配置的usercode.

打開生成的STM32CubeMX工程,打開TF-A設備樹(stm32mp135d-myir_bring_up-mx.dts),在”USER CODE BEGIN root”位置添加”chosen”和”aliases”節(jié)點:

/* USER CODE BEGIN root */ aliases { serial0 = &uart4; }; chosen { stdout-path = "serial0:115200n8"; }; /* USER CODE END root */

4.(Optional)編譯TFA USB image,并部署到板子。

編譯:

PC$> cd -a-stm32mp-v2.6-stm32mp-r2_path>PC$> source PC $>make -f ../Makefile.sdk TF_A_CONFIG=usb TF_A_DEVICETREE=stm32mp135d-myir_bring_up-mx stm32

部署(部署前請確認板子上電,串口線以及USB線正確連接):

PC $>STM32_Programmer_CLI -c port=usb1 -d ../deploy/tf-a-stm32mp135d-myir_bring_up-mx-usb.stm32 0x1 -s 0x1

串口打?。?/p>

NOTICE: CPU: STM32MP135F Rev.?NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23ERROR: nvmem node board_id not foundWARNING: VDD unknownINFO: Reset reason (0x35):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-stm32mp-r2-4-g2dedc1cf0-dirty(2dedc1cf)NOTICE: BL2: Built : 02:45:42, Jun 6 2023INFO: BL2: Doing platform setupERROR: Invalid DDR init: error -22PANIC at PC : 0x2ffe7739Exception mode=0x00000016 at: 0x2ffe7739

5.Troubleshooting

如果串口打印上一步串口打印如下或者沒有任何打印:

PANIC at PC : 0x2ffe7739Exception mode=0x00000016 at: 0x2ffe7739

那么請確認:

Usercode是否已經添加到正確的位置。

DEBUG串口是否是UART4,并且確認PIN腳是否正確配置。

檢查硬件連接。

4.1.2 DDR

DDR的配置需要注意以下幾點:

SDRAMS大小

One/two pieces (16/32 bits), STM32MP13x DDR是16bits, 所以這里的配置都是1片SDRAM

DDR型號, DDR3/DDR3L/LPDDRx

DDR頻率

1.查看DDR設計部分原理圖,確認大小以及頻率等參數(shù),完成DDR部分設計

下面列舉幾種DDR的不同設計與相對應的配置:

Example1:STM32MP157C-EV1,2片SDRAM, 32bits, 1GBytes

ec74950c-3190-11ee-bbcf-dac502259ad0.png

ecb62c88-3190-11ee-bbcf-dac502259ad0.png

ecfcff6e-3190-11ee-bbcf-dac502259ad0.png

ed180cf0-3190-11ee-bbcf-dac502259ad0.png

DDR的頻率可以在時鐘配置界面進行配置。

Example2: STM32MP135F-DK, 1片SDRAM,16bits, 512Mbytes.

ed43c052-3190-11ee-bbcf-dac502259ad0.png

ed79d07a-3190-11ee-bbcf-dac502259ad0.png

edb9e6ec-3190-11ee-bbcf-dac502259ad0.png

ede3b0bc-3190-11ee-bbcf-dac502259ad0.png

最后,來看一下Myir板子的DDR部分設計:

edfb8318-3190-11ee-bbcf-dac502259ad0.png

ee201e94-3190-11ee-bbcf-dac502259ad0.png

1片SDRAM, 16bits, 256Mbytes, STM32CubeMX配置如下:

ee4c6a6c-3190-11ee-bbcf-dac502259ad0.png

ee808f18-3190-11ee-bbcf-dac502259ad0.png

2.DDR時鐘配置(由于RCC部分還沒有配置外部時鐘,所以這里先用內部HSI作為時鐘源)

eeac1dd6-3190-11ee-bbcf-dac502259ad0.png

eec55058-3190-11ee-bbcf-dac502259ad0.png

3.點擊“GenerateCode”

4.(Optional)編譯TF-A USB image,并部署到板子

編譯:

PC$> cd -a-stm32mp-v2.6-stm32mp-r2_path>PC$> source PC $>make -f ../Makefile.sdk TF_A_CONFIG=usb TF_A_DEVICETREE=stm32mp135d-myir_bring_up-mx stm32

部署(部署前請確認板子上電,串口線以及USB線正確連接):

PC $>STM32_Programmer_CLI -c port=usb1 -d ../deploy/tf-a-stm32mp135d-myir_bring_up-mx-usb.stm32 0x1 -s 0x1

串口打?。?/p>

NOTICE: CPU: STM32MP135D Rev.YNOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23ERROR: nvmem node board_id not foundWARNING: VDD unknownINFO: Reset reason (0x30):INFO: Reset due to a failure of VDD_COREINFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):()NOTICE: BL2: Built : 1030, Jun 28 2023INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000kHzINFO: Memory size = 0x10000000 (256 MB)INFO: DFU USB START...INFO: handle USB : Suspend intINFO: USB Suspend modeINFO: handle USB : ResetINFO: handle USB : Reset

從上面的log可以看出,DDR初始化成功,tfa失敗在下載FW config文件的位置

Notes如果客戶的供電設計不是分離式電源,而是采用PMIC供電,那么對應的串口打印應該是:

NOTICE: CPU: STM32MP135F Rev.?NOTICE:

Model: STMicroelectronics custom STM32CubeMX boardERROR: nvmem node board_id not foundWARNING: VDD unknownINFO: Reset reason (0x35):INFO: Power-on Reset (rst_por)INFO:

FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000INFO: FCONF: Reading firmware configuration information for:

stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):

v2.6-stm32mp-r2-5-g38bff70d8-dirty(38bff70d)NOTICE: BL2: Built :

0312, Jun 6 2023INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000kHzERROR:

DDR addr bus test: can't access memory @ 0xc0000004PANIC at PC :

0x2ffe5db1Exception mode=0x00000016 at: 0x2ffe5db1

從硬件設計的角度看,目前軟件配置所涉及到的硬件區(qū)別主要是供電部分,采用分離式電源,板子一上電,每一個DC-DC均有輸出,不需要軟件控制,也就是說,只要板子上電,DDR供電就已經存在了;而采用PMIC,我們以STM32MP135F-DK板為例看一下DDR供電部分的設計:

eee13b56-3190-11ee-bbcf-dac502259ad0.png

ef06ca38-3190-11ee-bbcf-dac502259ad0.png

從原理圖可以看出PMIC的BUCK2用于給DDR供電,同時參考PMIC的數(shù)據手冊,BUCK2的啟動順序是Rank0級別,而Rank0上電之后默認是沒有輸出的,需要軟件驅動,所以,如果客戶采用的是PMIC供電,那么接下來需要配置PWR,I2C以及PMIC (見3.1.3)。

5.Troubleshooting

Log:

NOTICE: CPU: STM32MP135D Rev.YNOTICE: Model: STMicroelectronics custom STM32CubeMX boardERROR: nvmem node board_id not foundWARNING: VDD unknownINFO: Reset reason (0x35):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-stm32mp-r2-2-g3e0dafdaf(3e0dafda)NOTICE: BL2: Built : 0548, Jun 5 2023INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000kHzERROR: DDR expected freq 533000 kHz, current is 224000 kHzPANIC at PC : 0x2ffe588f

解析:如果出現(xiàn)如上打印,請查看DDR時鐘配置情況,一種可能是PLL2沒有使能,可以通過CubeMX的”ClockConfiguration”進行確認:AXI Clock的source沒有切換到PLL2P

ef551bb6-3190-11ee-bbcf-dac502259ad0.png

或者可以查看生成的設備樹rcc節(jié)點部分的配置是否有PLL2的配置出現(xiàn):

efb57e48-3190-11ee-bbcf-dac502259ad0.png


4.1.3 PWR

電源設計通常就是兩種,像Myir采用的分離式供電和ST demo板采用的電源管理芯片STPMIC供電,下面將分別介紹兩種情況下的設備樹配置。

I.由于之前采用PMIC供電DDR初始化會失敗,所以這里先以STM32MP135F-DK為例來看一下PMIC以及PWR部分的配置:

首先看一下原理圖:

efcd6bb6-3190-11ee-bbcf-dac502259ad0.png

首先配置用于驅動PMIC的I2C,默認使用的是I2C4:

eff31b22-3190-11ee-bbcf-dac502259ad0.png

f012de8a-3190-11ee-bbcf-dac502259ad0.png

f044c80a-3190-11ee-bbcf-dac502259ad0.png

然后配置PWR的wakeup引腳:

f05ee744-3190-11ee-bbcf-dac502259ad0.png

點擊“GENERATE CODE“生成設備樹,打開tfa設備樹添加usercode,PMIC部分的配置建議直接從tfa源碼中直接拷貝stm32mp135f-dk.dts的配置,然后根據硬件設計的BUCK與LDO輸出修改regulator的配置

&i2c4{ pinctrl-names = "default"; pinctrl-0 = <&i2c4_pins_mx>; status = "okay";
/* USER CODE BEGIN i2c4 */ i2c-scl-rising-time-ns = <185>; i2c-scl-falling-time-ns = <20>; clock-frequency = <400000>;
pmic:stpmic@33{ compatible = "st,stpmic1"; reg = <0x33>; status = "okay"; regulators{ compatible = "st,stpmic1-regulators"; buck1-supply = <&vin>; … ldo6-supply = <&vin>; vref_ddr-supply = <&vin>; pwr_sw1-supply = <&bst_out>; pwr_sw2-supply = <&v3v3_ao>;
vddcpu:buck1{ regulator-name = "vddcpu"; regulator-min-microvolt = <1250000>; regulator-max-microvolt = <1250000>; regulator-always-on; regulator-over-current-protection; }; … v3v3_sw:pwr_sw2{ regulator-name = "v3v3_sw"; regulator-active-discharge = <1>; regulator-always-on; }; }; }; /* USER CODE END i2c4 */};

Regulator的輸入vin與v3v3_ao也需要在設備樹中定義,添加user code到USER Code BEGINroot節(jié)點下:

/ { /* USER CODE BEGIN root */
vin: vin { compatible = "regulator-fixed"; regulator-name = "vin"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; }; v3v3_ao: v3v3_ao { compatible = "regulator-fixed"; regulator-name = "v3v3_ao"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; /* USER CODE BEGIN root */

添加PWR節(jié)點配置:

&pwr_regulators{ status = "okay";/* USER CODE BEGIN pwr_regulators */ vdd-supply = <&vdd>; vdd_3v3_usbfs-supply = <&vdd_usb>; /* USER CODE END pwr_regulators */ };

添加CPU Supply節(jié)點配置:

編譯并部署到板子,確認DDR錯誤是否被修復;

燒錄后,log打印如下:DDR錯誤被修復

NOTICE: CPU: STM32MP135F Rev.?NOTICE: Model: STMicroelectronics custom STM32CubeMX boardERROR: nvmem node board_id not foundINFO: PMIC version = 0x21WARNING: VDD unknownINFO: Reset reason (0x35):INFO: Power-on Reset (rst_por)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe0000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-stm32mp-r2-7-g866f2b026-dirty(866f2b02)NOTICE: BL2: Built : 1207, Jun 7 2023INFO: BL2: Doing platform setupINFO: RAM: DDR3-DDR3L 16bits 533000kHzINFO: Memory size = 0x20000000 (512 MB)INFO: DFU USB START...INFO: handle USB : Suspend intINFO: USB Suspend modeINFO: handle USB : Reset

II.分離式電源設計

Myir開發(fā)板采用的正是分離式電源,原理圖如下:

f083f5f2-3190-11ee-bbcf-dac502259ad0.png


當板子上電后,VDD-Core, VDD-CPU, VDD-DDR等會陸續(xù)有電源輸出,無需通過STM32CubeMX配置以及軟件控制,這里只需要添加一些user code即可:

添加CPU Supply節(jié)點配置:

/* USER CODE BEGIN addons */&cpu0{ cpu-supply = <&vddcpu>;};/* USER CODE END addons */

還需要定義在CPU Supply節(jié)點中引入的regulator vdd_cpu:

/* USER CODE BEGIN root */ vdd_cpu: vdd_cpu{ compatible = "regulator-fixed"; regulator-name = "vdd_cpu"; regulator-min-microvolt = <1250000>; regulator-max-microvolt = <1250000>; regulator-always-on; };/* USER CODE END root */

4.1.4 RCC

RCC, Resetand clock control, RCC模塊負責內部時鐘(LSI, HSI和CSI)和外部時鐘(LSE和HSE)的控制,這些內外部時鐘源為硬件模塊直接或間接(通過PLLs)的提供時鐘信號,其中:

PLL1作為MPU的時鐘源

PLL2為AXI-SS (包括APB4, APB5以及APB6),DCMIPP和DDR提供時鐘

PLL3為MLAHB, APB1, APB2, APB3,AHB等提供時鐘,還有外設的時鐘

PLL4為各種外設提供時鐘

這里介紹如何配置使能外部時鐘LSE和LSE,首先看一下HSE的幾種經典設計電路:

f099cf12-3190-11ee-bbcf-dac502259ad0.png


不同的硬件設計方式在軟件上的配置區(qū)別如下:

Example1: STM32MP157C-EV1

f0c58198-3190-11ee-bbcf-dac502259ad0.png

f1202a80-3190-11ee-bbcf-dac502259ad0.png

f1466c18-3190-11ee-bbcf-dac502259ad0.png

f159f026-3190-11ee-bbcf-dac502259ad0.png

Example 2: STM32MP135F-DK

f17b7962-3190-11ee-bbcf-dac502259ad0.png

f196dcde-3190-11ee-bbcf-dac502259ad0.png

f1c5daca-3190-11ee-bbcf-dac502259ad0.png

f1eec3b8-3190-11ee-bbcf-dac502259ad0.png

RCC可以提供2個輸出時鐘(MCO1, MCO2),可以作為外部設備的時鐘源。

f20fd292-3190-11ee-bbcf-dac502259ad0.png

通過以上兩個例子的展示,看一下Myir的硬件設計:

f2363fcc-3190-11ee-bbcf-dac502259ad0.png

HSE采用的與STM32MP135F-DK相同的無源晶振設計,所以STM32CubeMX的配置如下:

f257a00e-3190-11ee-bbcf-dac502259ad0.png

f29e7fce-3190-11ee-bbcf-dac502259ad0.png


切換到 ”Clock Configutation” 界面,將PLL1,PLL2的時鐘源切換到HSE,并確認DDR的時鐘頻率設置在533Mhz, CPU主頻先配置在650Mhz:

f2e507f0-3190-11ee-bbcf-dac502259ad0.png

f3237d32-3190-11ee-bbcf-dac502259ad0.png

點擊”Generate code”, 編譯TF-A,并deploy到板子,串口log輸出應與上一步相同。

如果在配置RCC后,沒有打印出與上一步形同的log, 串口打印如下panic:

PANIC at PC : 0x2ffecb43Exception mode=0x00000016 at: 0x2ffecb43

請檢查STM32CubeMX中HSE的配置,如果確認配置沒有問題,請檢查硬件連接。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ST
    ST
    +關注

    關注

    32

    文章

    1126

    瀏覽量

    128781
  • STM32
    +關注

    關注

    2264

    文章

    10854

    瀏覽量

    354289
  • 開發(fā)板
    +關注

    關注

    25

    文章

    4896

    瀏覽量

    97058
  • 米爾
    +關注

    關注

    0

    文章

    47

    瀏覽量

    7901
收藏 人收藏

    評論

    相關推薦

    ST系列-米爾STM32MP257核心開發(fā)板-高性能+多接口+邊緣算力

    MYC-LD25X核心開發(fā)板ST代工業(yè)級MPU,高性能+多接口+邊緣算力STM32MP2系列是意法半導體推出最新一代工業(yè)級64位微處
    發(fā)表于 09-20 17:46 ?1次下載

    第2章_開發(fā)板使用

    課程使用 ST-Link 給開發(fā)板供電、燒錄、調試。
    的頭像 發(fā)表于 06-29 14:25 ?1420次閱讀
    第2章_<b class='flag-5'>開發(fā)板</b>使用

    使用STM32MP135驅動2.4寸 LCD屏幕,刷新率巨低為什么?

    使用STM32MP135 驅動2.4寸 LCD屏幕,刷新率巨低; 測試條件:(HAL庫) 1、硬件SPI;2、IO操作使用寄存器配置;3、SPI時鐘達到16M; SPI配置如下: IO操作配置如下: 之前使用MCU操作,刷新率都沒有這么低; 實際現(xiàn)象(連拍兩張): 求壇友們,指教一二
    發(fā)表于 05-20 06:51

    STM32MP135 linux SPI多字節(jié)時鐘連續(xù)沒有間隔是怎么回事?

    使用STM32MP135作為SPI主機通訊時,由于SPI從設備速度慢,數(shù)據字節(jié)之間的時鐘間隔要大于等于半個時鐘周期;嘗試設置struct spi_ioc_transfer-&gt;word_delay_usecs參數(shù)發(fā)現(xiàn)沒有時鐘間隔,應該怎么辦? 正常時序圖 有問題的時序
    發(fā)表于 05-20 06:30

    MCU友好過渡MPU,米爾基于STM32MP135開發(fā)板裸機開發(fā)應用筆記

    和MPU之間的區(qū)別變得越來越模糊。STM32MP135是一款入門級的高性價比MPU,適用于MCU性能達不到要求或者需要跑Linux的場景。米爾STM32MP135開發(fā)板提供基于
    發(fā)表于 03-29 18:35

    不是高性能MCU用不起,而是MP135裸跑更具性價比

    和MPU之間的區(qū)別變得越來越模糊。STM32MP135是一款入門級的高性價比MPU,適用于MCU性能達不到要求或者需要跑Linux的場景。米爾STM32MP135
    的頭像 發(fā)表于 03-29 08:01 ?1027次閱讀
    不是高性能MCU用不起,而是<b class='flag-5'>MP135</b>裸跑更具性價比

    STM32MP135移植U-Boot 2022.10-stm32mp-r1提示No serial driver found的原因?

    STM32MP135移植U-Boot 2022.10-stm32mp-r1提示No serial driver found
    發(fā)表于 03-11 08:13

    如何使用STM32CubeMx配置STM32MP135的LTDC外設?

    請問一下,如何使用STM32CubeMx配置STM32MP135的LTDC外設,打開后LTDC配置項是空的
    發(fā)表于 03-11 07:37

    STM32MP135F-DK燒錄fip-stm32mp135f-dk-optee.bin后一直Reconnecting the device連不上設備的原因?

    STM32MP135F-DK開發(fā)板燒錄燒錄進行到fip-stm32mp135f-dk-optee.bin后一直 Reconnecting the device連不上設備,可能是什么原因?
    發(fā)表于 03-11 07:05

    STM32MP135使用STLINK方式連接STM32CubeProgram,連接提示報錯的原因?

    STM32MP135開發(fā)板使用STLINK方式連接STM32CubeProgram,連接提示報錯,有遇到此問題的?
    發(fā)表于 03-11 06:03

    開放式高實時高性能PLC控制器解決方案-基于米爾電子STM32MP135

    實時高性能需求尤其突出。面對以上挑戰(zhàn),合作伙伴翌控科技基于米爾STM32MP135開發(fā)板發(fā)布開放式高實時高性能PLC控制器解決方案,將高精準數(shù)據采集、預處理、存儲、通信與高實時控制融為一體,為控制系統(tǒng)
    發(fā)表于 03-07 20:06

    Stm32mp135打開cache之后,用作ltdc的顯存地址數(shù)據就會異常怎么解決?

    各位大佬好,本人在Stm32mp135的裸機開發(fā)過程中發(fā)現(xiàn),有幾個問題需要請教大家。 1-打開cache之后,用作ltdc的顯存地址數(shù)據就會異常(屏幕刷新異常),請問有沒有類型M7系列的mpu保護
    發(fā)表于 03-07 07:55

    請問STM32MP135C-DK開發(fā)套件是和STM32MP135F-DK開發(fā)板是一個東西嗎?

    請問STM32MP135C-DK開發(fā)套件是和STM32MP135F-DK開發(fā)板是一個東西?我沒找到有STM32MP135C-DK
    發(fā)表于 03-07 07:41

    STM32MP135使用HAL庫驅動2.4寸刷新率巨低的原因?

    使用STM32MP135 驅動2.4寸 LCD屏幕,刷新率巨低; 測試條件:(HAL庫) 1、硬件SPI;2、IO操作使用寄存器配置;3、SPI時鐘達到16M; SPI配置如下: IO操作配置如下: 之前使用MCU操作,刷新率都沒有這么低; 實際現(xiàn)象(連拍兩張):
    發(fā)表于 03-07 07:17

    STM32MP135 linux SPI多字節(jié)時鐘連續(xù)沒有間隔怎么辦?

    使用STM32MP135作為SPI主機通訊時,由于SPI從設備速度慢,數(shù)據字節(jié)之間的時鐘間隔要大于等于半個時鐘周期;嘗試設置struct spi_ioc_transfer-&gt;word_delay_usecs參數(shù)發(fā)現(xiàn)沒有時鐘間隔,應該怎么辦? 正常時序圖 有問題的時序
    發(fā)表于 03-07 06:14