download_bootloader - withrobot/myCortex-STM32F4 GitHub Wiki
myCortex-STM32F4 보λμ μ¬μ©λ STM32F4 MCUμλ λ΄μ₯ ROM μμμ λΆνΈλ‘λκ° λ΄μ₯λμ΄ μμ΅λλ€. μ΄ λΆνΈλ‘λλ UART, I2C, SPI, CAN λ±μ ν΅ν΄ μ¬μ©μ νμ¨μ΄ μ΄λ―Έμ§λ₯Ό Flash λ©λͺ¨λ¦¬ μμμ λ€μ΄λ‘λ© ν μ μλλ‘ ν΄ μ€λλ€. μ¬λ¬κ°μ§ μΈν°νμ΄μ€λ₯Ό μ¬μ©ν μ μμ§λ§ UARTλ₯Ό μ μΈν λλ¨Έμ§λ λ³λμ μ₯μΉλ νλ‘, λ€μ°λ‘λ© νλ‘κ·Έλ¨μ΄ νμν κ΄κ³λ₯Ό κ°λ¨νκ² μ¬μ©ν μλ μμ΅λλ€. λ³Έ μμ μμλ UARTλ₯Ό ν΅ν μλ¦¬μΌ λΆνΈλ‘λ μ¬μ©λ²μ μ€λͺ ν΄λ립λλ€. λͺ¨λ μμ λ μλ¦¬μΌ λΆνΈλ‘λλ₯Ό ν΅ν΄μ λ€μ΄λ‘λ© ν μ μμΌλ―λ‘ JTAG μ₯μΉκ° μλλΌλ κ°λ°μ΄ κ°λ₯ν©λλ€.
νλμ¨μ΄
STM32F4 λ΄μ₯ μλ¦¬μΌ λΆνΈλ‘λλ₯Ό μ¬μ©νλ €λ©΄ BOOT0, BOOT1 νμ μ μ ν κ°μ μΈκ°ν μνμμ 리μ ν΄μΌ ν©λλ€. myCortex-STM32F4 보λμμλ λΆνΈ μ€μμΉ(SW1)μ 리μ μ€μμΉ(SW2)λ₯Ό νμ¬νμ¬ μλ¦¬μΌ λΆνΈλ‘λλ₯Ό κ°λ¨νκ² μ¬μ©ν μ μλλ‘ νμμ΅λλ€.
μλ¦¬μΌ λΆνΈλ‘λλ₯Ό κΈ°λνκΈ° μν΄μλ SW1μ λλ₯Έ μνμμ SW2λ₯Ό λλ λ€κ° λλ©΄ λ©λλ€. μ΄νμλ SW1μ λλ©΄ λ©λλ€. μ΄λ κ² νλ©΄ MCUλ λΆνΈλ‘λ μνλ‘ λμνλ©° UARTλ₯Ό ν΅ν΄ νμ¨μ΄ μ΄λ―Έμ§κ° λ€μ΄λ‘λ λκΈ°λ₯Ό κΈ°λ€λ¦½λλ€.
PCμ myCortex-STM32F4 보λλ₯Ό UARTλ‘ μ°κ²°νκΈ° μν΄μλ myUSB2UARTμ κ°μ μ₯μΉκ° νμν©λλ€. myUSB2UARTλ PCμ USB ν¬νΈλ₯Ό μ¬μ©νμ¬ TTL λ 벨μ UART μΈν°νμ΄μ€λ₯Ό μ 곡νλ μ₯μΉμ λλ€. myUSB2UARTμ 4ν 컀λ₯ν°λ₯Ό myCortex-STM32F4μ 4ν UART 컀λ₯ν°(J4)μ μ°κ²°νλ©΄ λ©λλ€.
μ°Έκ³ λ‘ myUSB2UARTλ₯Ό μ¬μ©νλ©΄ UART μ°κ²°κ³Ό μ μ 곡κΈμ νλ²μ ν μ μμ΄ μμ½κ² ν μ€νΈ νμ€ μ μμ΅λλ€.
μννΈμ¨μ΄
PCμλ νμ¨μ΄ μ΄λ―Έμ§λ₯Ό λ€μ΄λ‘λνλ νλ‘κ·Έλ¨μ΄ μμ΄μΌ ν©λλ€. UART λΆνΈλ‘λ νλ‘ν μ½μ΄ 곡κ°λμ΄ μμ΄ μνλ ννλλ‘ μ μν μλ μμΌλ©°, STμμ μ 곡νλ λ°λͺ¨ νλ‘κ·Έλ¨μ κ·Έλλ‘ μ¬μ©ν΄λ λ©λλ€. λ³Έ λ¬Έμμμλ STμμ μ 곡νλ ST Flash Loader Demonstration νλ‘κ·Έλ¨μ μ¬μ©νλ λ°©λ²μ μ€λͺ νκ² μ΅λλ€.
ST μΉνμ΄μ§μμ ST Flash Loader Demonstration νλ‘κ·Έλ¨μ λ€μ΄λ‘λ λ°κ±°λ λ€μ΄λ‘λνμ΄μ§μμ λ°μΌμ€ μλ μμ΅λλ€.
λ€μ΄λ‘λ©
Flash Loader Demonstrator νλ‘κ·Έλ¨μ μμνλ©΄ μλμ κ°μ νλ©΄μ λ³΄μ€ μ μμ΅λλ€.
μ΄ νλ©΄μμ myUSB2UARTμ κ°μ μ§λ ¬ ν¬νΈ λ²νΈλ₯Ό μ νν©λλ€. κ°μ μ§λ ¬ ν¬νΈμ λ²νΈλ μ₯μΉκ΄λ¦¬μμμ νμΈν μ μμ΅λλ€. ν¬νΈ νλͺ©μ Silicon Labs CP210x USB to UART Bridgeμ COM ν¬νΈ λ²νΈλ₯Ό μ ννλ©΄ λ©λλ€.
νλμ¨μ΄νλͺ©μμ μ€λͺ ν λ°μ κ°μ΄ SW1κ³Ό SW2λ₯Ό μ΄μ©ν΄ λΆνΈλ‘λ λͺ¨λλ‘ λ¦¬μ ν μνμμ Loader νλ‘κ·Έλ¨μ Next λ²νΌμ ν΄λ¦ν©λλ€.
myCortex-STM32F4 보λκ° λΆνΈλ‘λ λͺ¨λκ° μλλΌλ©΄ λ€μ νλ©΄μΌλ‘ λ°λ‘ λμ΄κ°μ§ μκ³ μ μν μλ¬ λ©μμ§κ° μΆλ ₯λ©λλ€. μ΄λ° κ²½μ°μλ μ²μλΆν° λ€μ νλ©΄ λ©λλ€.
λλ€μ Nextλ₯Ό ν΄λ¦ν©λλ€.
μ νλ©΄κ³Ό κ°μ΄ Select targetμ΄λΌ λμ¬ λ STM32F4_512Kλ₯Ό μ νν©λλ€. κ·Έλ¬λ©΄ μλμ κ°μ΄ νλ©΄μ΄ μ νλ©λλ€.
λλ€μ Nextλ₯Ό ν΄λ¦νλ©΄ μλμ κ°μ νλ©΄μ΄ λνλ©λλ€.
λ€μ΄λ‘λ ν νμ¨μ΄ λ°μ΄λ리 μ΄λ―Έμ§λ₯Ό μ ννκ³ λ€μ΄λ‘λκ° μ€νλλ νλ©΄μ λλ€. Download to device νλͺ©μμ λ°μ΄λ리 μ΄λ―Έμ§ νμΌμ μ νν©λλ€. λ°μ΄λ리 μ΄λ―Έμ§ νμΌμ νλ‘μ νΈλ₯Ό EWARMμμ λΉλνλ©΄ κ° μμ μ Debug/Exe ν΄λμ EWARM.hex νμΌλ‘ λ§λ€μ΄μ§λλ€. μ΄ νμΌμ μ νν©λλ€. λλ¨Έμ§ μ΅μ λ€μ μ νλ©΄κ³Ό κ°μ΄ μ νν ν Nextλ₯Ό ν΄λ¦νλ©΄ νλμ¬ λ©λͺ¨λ¦¬ νλ‘κ·Έλλ°μ΄ μ§νλκ³ , μλ£λ νμλ μλμΌλ‘ 리μ λμ΄ μ€νλ©λλ€.