Outils pour utilisateurs

Outils du site


francois:stm32f405_minipix_zephyr

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
francois:stm32f405_minipix_zephyr [2024/11/24 09:05] – [Adaptation de l'image pour MCUboot] francoisfrancois:stm32f405_minipix_zephyr [2024/12/17 16:10] (Version actuelle) – [MCUboot] francois
Ligne 28: Ligne 28:
  
 <code> <code>
 +CONFIG_CLOCK_STM32_HSE_CLOCK=24000000
 +
 # enable MCUBoot # enable MCUBoot
 CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_BOOTLOADER_MCUBOOT=y
 CONFIG_MCUBOOT_GENERATE_UNSIGNED_IMAGE=y CONFIG_MCUBOOT_GENERATE_UNSIGNED_IMAGE=y
 +CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY=y
 </code> </code>
  
 Il faut modifier le device tree ''zephyr/boards/radiolink/mini_pix/radiolink_mini_pix.dts'' Il faut modifier le device tree ''zephyr/boards/radiolink/mini_pix/radiolink_mini_pix.dts''
  
 +Changement de l'include du µC
 <code> <code>
-        soc { +[...] 
-                flash-controller@40023c00 { +#include <st/f4/stm32f405vgtx-pinctrl.dtsi> 
-                        flash0: flash@8000000 {+[...] 
 +</code> 
 + 
 +Les partitions 
 +<code> 
 +[...] 
 + soc { 
 + flash-controller@40023c00 { 
 + flash0: flash@8000000 {
  partitions {  partitions {
  compatible = "fixed-partitions";  compatible = "fixed-partitions";
Ligne 62: Ligne 74:
  };  };
  
 + };
 + };
 + };
 +[...]
 +</code>
  
-                        }; +Dire sur quelle partition le code sera et quelle sera la console 
-                }; + 
-        };+<code> 
 +[...] 
 + chosen { 
 + zephyr,console = &usart2; 
 + zephyr,shell-uart = &usart2; 
 + zephyr,sram = &sram0; 
 + zephyr,flash = &flash0; 
 + zephyr,code-partition = &slot0_partition; 
 + zephyr,ccm = &ccm0; 
 + }; 
 +[...]
 </code> </code>
-==== Changement de la fréquence ==== 
  
-AC+Changement de la fréquence 
 + 
 +<code> 
 +[...] 
 +&clk_hse { 
 + clock-frequency = <DT_FREQ_M(24)>; 
 + status = "okay"; 
 +}; 
 + 
 +&pll { 
 + div-m = <24>; 
 + mul-n = <336>; 
 + div-p = <2>; 
 + div-q = <7>; 
 + clocks = <&clk_hse>; 
 + status = "okay"; 
 +}; 
 + 
 +&rcc { 
 + clocks = <&pll>; 
 + clock-frequency = <DT_FREQ_M(168)>; 
 + ahb-prescaler = <1>; 
 + apb1-prescaler = <4>; 
 + apb2-prescaler = <2>; 
 +}; 
 + 
 +[...] 
 +</code> 
 + 
 +les leds 
 + 
 +<code> 
 +[...] 
 + leds: leds { 
 + compatible = "gpio-leds"; 
 + led: led_0 { 
 + gpios = <&gpioc 5 GPIO_ACTIVE_HIGH>; 
 + label = "User LED"; 
 + }; 
 + boot_led: led_1 { 
 + gpios = <&gpiob 1 GPIO_ACTIVE_HIGH>; 
 + label = "Bootloader LED"; 
 + }; 
 + 
 + }; 
 +[...] 
 +</code> 
 + 
 +le port série 
 + 
 +<code> 
 +[...] 
 +&usart2 { 
 + pinctrl-0 = <&usart2_tx_pd5 &usart2_rx_pd6>; 
 + pinctrl-names = "default"; 
 + current-speed = <115200>; 
 + status = "okay"; 
 +}; 
 +[...] 
 +</code>
  
 ===== MCUboot ===== ===== MCUboot =====
Ligne 80: Ligne 165:
  
   west build -t menuconfig   west build -t menuconfig
 +
 +Il faut configurer les trucs suivants:
 +
 +  # Configured to only overwrite slot 0
 +  CONFIG_SINGLE_APPLICATION_SLOT=y
 +
 +  CONFIG_BOOT_USB_DFU_WAIT=y
 +  # CONFIG_BOOT_USB_DFU_GPIO is not set
 +  CONFIG_BOOT_USB_DFU_WAIT_DELAY_MS=12000
 +  CONFIG_BOOT_USB_DFU_NO_APPLICATION=y
 +  CONFIG_MCUBOOT_INDICATION_LED=y
 +  CONFIG_USB_DEVICE_DRIVER=y
 +  CONFIG_USB_DEVICE_VID=0x0483
 +  CONFIG_USB_DEVICE_PID=0xdf11
 +  CONFIG_USB_DEVICE_MANUFACTURER="FOUE"
 +==== Flasher MCUboot ====
 +
 +Il faut passer en mode DFU sur la Mini-Pix en mettant la pin 94 (BOOT0) à 3.3V.
 +
 +Ensuite, dans ''zephyr/bootloader/mcuboot/boot/zephyr/build/zephyr''
 +
 +  dfu-util -a 0 -s 0x08000000:leave -D zephyr.bin
francois/stm32f405_minipix_zephyr.1732439104.txt.gz · Dernière modification : de francois

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki