embeded/Cortex-M3 STM2025. 11. 19. 19:47

리눅스/우분투

[링크 : https://manpages.ubuntu.com/manpages/xenial//man1/dfu-util.1.html]

 

윈도우

Description

STSW-STM32080 package contains all binaries and source code for DfuSe USB device firmware upgrade (DFU) software, including the demonstration, debugging GUIs and protocol layers.
It includes the DFU driver compatible with the latest Microsoft®OS.
DfuSe utility can be used to interact with the STM32 system memory bootloader or any In-Application Programming (IAP) firmware, running from the user Flash, thus allowing internal memories programming through USB.
All source files for Microsoft®Visual Studio 2012 are provided as well, to allow the customization of the default GUI interface.
  • All features

    • DfuSE USB Programming
    • Command line version
    • All binaries and sources provided
 

[링크 : https://www.st.com/en/development-tools/stsw-stm32080.html]

 

[링크 : https://community.st.com/t5/stm32cubeide-mcus/programming-stm32-in-bootloader-mode-under-linux/td-p/277572]

[링크 : https://www.os4all.com/m/70]

[링크 : https://www.os4all.com/m/69]

 

dfu 부트로더

[링크 : https://bigcoco.tistory.com/m/6]

 

 

'embeded > Cortex-M3 STM' 카테고리의 다른 글

stn32f103 usb cdc(communication device class)  (0) 2025.11.19
stm32f103 도착  (0) 2025.11.19
stm32 adc + dma.. part 2?  (0) 2025.10.29
stm32 부트로더로 부팅 전환하기  (0) 2025.10.21
EEPROM emulation for stm32  (0) 2025.10.16
Posted by 구차니
embeded/Cortex-M3 STM2025. 11. 19. 19:39

간단하게.. ft232 같은 것 없어도 usb를 통해서 바로 통신이 가능한 com 포트를 생성해주는 기능

cubeIDE에서 따라해봐야겠다.

[링크 : https://jeonhj.tistory.com/m/29]

 

 

 

PA11 / PA12가 CAN or USB 포트로 사용을 해야 하는것 같군..

[링크 : https://www.st.com/resource/en/datasheet/stm32f103c8.pdf]

[링크 : https://www.st.com/en/microcontrollers-microprocessors/stm32f103c8.html]

 

 

뚫어져라 보니

B7 / A6 + B8 으로 연결되어서 쭈욱 따라가니 A11 / A12로 연결된 듯.

[링크 : https://electronics.stackexchange.com/questions/610007/how-to-wire-usb-c-connector]

'embeded > Cortex-M3 STM' 카테고리의 다른 글

stm32f103 dfu (Device Firmware Upgrade)  (0) 2025.11.19
stm32f103 도착  (0) 2025.11.19
stm32 adc + dma.. part 2?  (0) 2025.10.29
stm32 부트로더로 부팅 전환하기  (0) 2025.10.21
EEPROM emulation for stm32  (0) 2025.10.16
Posted by 구차니
embeded/Cortex-M3 STM2025. 11. 19. 19:26

micro USB인줄 알았는데 usb c로 왔다 -ㅁ-!

[링크 : http://mitem.auction.co.kr/vip?itemNo=F241860522] 2,970 * 2 + 3000

 

상면에는 리셋, BOOT0/BOOT1 핀을 위한 점퍼

STM32F103C8T6 MCU

8MHz / 32.768kHz 클럭

 

U1 - LDO LB2K 3.3V 500mA 인듯한데.. ams1117 같은 레귤레이터도 비싸다고 이런걸 넣은건가?

[링크 : https://www.alibaba.com/product-detail/Hainayu-Electronic-chip-SOT-23-5_1601244058700.html]

 

 

 

BOOT0 - 1

BOOT1 - 0 으로 점퍼를 셋팅하고 A9 / A10을 시리얼로 연결하면 stm32flash 등으로 올릴수있나 보다.

[링크 : https://medium.com/@paramaggarwal/programming-an-stm32f103-board-using-usb-port-blue-pill-953cec0dbc86]

 

 

USB는 전원공급전용인가?

[링크 : https://ko.aliexpress.com/item/1005009880645839.html]

RT9193-33GB  3.3V 300MA SOT23-5

[링크 : https://www.eleparts.co.kr/goods/view?no=210486]

Posted by 구차니
embeded/Cortex-M4 STM2025. 11. 3. 15:24

g 시리즈는 f 시리즈보다 먼가 옵션이 많네..

 

stm32f103은 아래처럼 좀 조촐하다.

 

----

clock prescaler. sync와 async의 차이는 좀 찾아봐야 할 듯.

sync는 1/1~4 async는 1/1~256 까지 된다.

 

f103에서는 adc가 별도 클럭으로 설정이 가능했는데 

 

g473 에서는 SYSCLK로 고정되어 있는것 같고, 별도로 클럭 디바이더를 지정해 주어야 한다.

어떤 의미로는 퇴화이려나?

 

resolution. 신기한디.. 하드웨어적으로 고정된게 아니라니?

아니면 12bit 해상도인데 줄때 줄여서 주나?(LSB 날리기!)

 

scan mode. 멀 잘못횄나 왜 enabled가 없어?

 

여러채널 읽어봐야하나.. 아무튼 single / seqeunce conversion 별로 end를 보낼지 결정

 

DMA 사용하도록 되어있지 않으면 Enabled를 비활성화 된다.

 

overrun은 머지.. 멀티채널에서의 작동이려나? 

Posted by 구차니
embeded/Cortex-M3 STM2025. 10. 29. 14:45

cluade.ai의 도움으로 해결 -_-

아무튼,  값이 밀리는 것 처럼 보였던 이유는 dma를 circular로 하지 않아서 수동으로 시작했고, 첫 adc는 버려야 하는데

버리니까 두번째 들어오지 않는 문제 발생. 그래서 매번 dma_start를 해줘서 문제가 되었던 듯 하다.

 

ADC_Settings 에서 Continuous Conversion Mode 를 Disable -> Enable

 

DMA는 Mode Normal 에서 Circular로 해주면 끝

 

NVIC는 DMA1만 인터럽트 활성화 해주면 된다.

 

코드에서는 main() 에서 while() 들어가기 전에

HAL_ADC_Start_DMA() 한번 호출해주고 그 이후로는

adc callback 에서 다 받아왔을 때 값을 옮겨주고 처리루틴 부르면 끝

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
  if(hadc->Instance == ADC1)
  {
//    memcpy(ADCRaw, ADCResult, sizeof(uint16_t) * 4);
//    adc_dma_flag = 2;
  }
}

 

2024.11.04 - [embeded/Cortex-M3 STM] - stm32f103 adc + dma

'embeded > Cortex-M3 STM' 카테고리의 다른 글

stn32f103 usb cdc(communication device class)  (0) 2025.11.19
stm32f103 도착  (0) 2025.11.19
stm32 부트로더로 부팅 전환하기  (0) 2025.10.21
EEPROM emulation for stm32  (0) 2025.10.16
stm32 cpp  (0) 2025.08.08
Posted by 구차니
embeded/전자회로2025. 10. 22. 14:11

싸니 한번 사서 가지고 놀아볼까?

 

[링크 : https://m.blog.naver.com/emperonics/222108739792]

[링크 : https://itempage3.auction.co.kr/DetailView.aspx?itemno=E793636330] 590원

'embeded > 전자회로' 카테고리의 다른 글

스위칭 파워(스텝다운 컨버터) MP1584 사용  (0) 2025.10.18
스위칭 파워  (0) 2025.10.11
아 어쩐지 부품이 두개더라 -_-?  (0) 2025.10.08
1.8인치 TFT SPI 128x160  (0) 2025.10.07
열전대 써모커플러  (0) 2025.07.17
Posted by 구차니
embeded/Cortex-M3 STM2025. 10. 21. 18:21

stm32 시리즈 마다 달라서  boot_addr를 확인해야 하지만

아무튼 아래와 같이 작성된 코드를 호출하면 boot0 쇼트한것 처럼 부트로더가 시작된다고 한다.

/* USER CODE BEGIN 4 */
#define BOOT_ADDR 0x1FFFF000 // my MCU boot code base address
#define MCU_IRQS 70u // no. of NVIC IRQ inputs

struct boot_vectable_ {
    uint32_t Initial_SP;
    void (*Reset_Handler)(void);
};

#define BOOTVTAB ((struct boot_vectable_ *)BOOT_ADDR)

void JumpToBootloader(void)
{
/* Disable all interrupts */
__disable_irq();

/* Disable Systick timer */
SysTick->CTRL = 0;

/* Set the clock to the default state */
HAL_RCC_DeInit();

/* Clear Interrupt Enable Register & Interrupt Pending Register */
for (uint8_t i = 0; i < (MCU_IRQS + 31u) / 32; i++)
{
NVIC->ICER[i]=0xFFFFFFFF;
NVIC->ICPR[i]=0xFFFFFFFF;
}

/* Re-enable all interrupts */
__enable_irq();

// Set the MSP
__set_MSP(BOOTVTAB->Initial_SP);

// Jump to app firmware
BOOTVTAB->Reset_Handler();
}

/* USER CODE END 4 */

[링크 : https://community.st.com/t5/stm32-mcus/how-to-jump-to-system-bootloader-from-application-code-on-stm32/ta-p/49424]

'embeded > Cortex-M3 STM' 카테고리의 다른 글

stm32f103 도착  (0) 2025.11.19
stm32 adc + dma.. part 2?  (0) 2025.10.29
EEPROM emulation for stm32  (0) 2025.10.16
stm32 cpp  (0) 2025.08.08
stm32 eeprom emulation  (0) 2025.07.29
Posted by 구차니
embeded/전자회로2025. 10. 18. 16:43

언제 샀는지도 기억안나는 부품..(!!)

언제나의 습관대로 2개씩 구매해놔서 한번 배터리 터질 각오로 시도

PCB에도 칩에도 MP1584라고 써있다.


배터리 쪽은 만충이라 8.0V

 

원래있던 셋팅(?) 으로는 7.7V가 나오고 있다. 전압이 올라가면 달라지려나?

 

암튼 올바른 위치(?)의 + 에서 약간 돌리고 나서

 

5.3V 정도로 나온다.

 

18650 2개짜리 홀더가 있으니, 3.7*2 = 7.4V 를 입력받아 서보모터를 돌리는게 목적인데

2A까진 히트싱크 없어도 되지만 3A는 있어야 한다고. 흐음.. 그럼 없어도 될 듯

[링크 : https://www.coupang.com/vp/products/298245200?itemId=939169411]

'embeded > 전자회로' 카테고리의 다른 글

로터리 엔코더  (0) 2025.10.22
스위칭 파워  (0) 2025.10.11
아 어쩐지 부품이 두개더라 -_-?  (0) 2025.10.08
1.8인치 TFT SPI 128x160  (0) 2025.10.07
열전대 써모커플러  (0) 2025.07.17
Posted by 구차니
embeded/Cortex-M3 STM2025. 10. 16. 18:29

stm32용 eeprom 에뮬레이션 패키지.

cube ide에서 packs 에서 설치가 될 줄 알았는데 없고, 수동으로 풀어서 넣어주어야 한다.

 

[링크 : https://community.st.com/t5/stm32cubemx-mcus/how-to-install-x-cube-eeprom-on-stm32cube/td-p/78773]

[링크 : https://community.st.com/t5/stm32cubemx-mcus/how-can-i-install-and-use-x-cube-eeprom-middleware-in/m-p/122931]

 

받고, 풀고

[링크 : https://www.st.com/en/embedded-software/x-cube-eeprom.html#tools-software]

 

적당히 때려넣어주면 끝

[링크 : https://blog.naver.com/chcbaram/223153496808]

'embeded > Cortex-M3 STM' 카테고리의 다른 글

stm32 adc + dma.. part 2?  (0) 2025.10.29
stm32 부트로더로 부팅 전환하기  (0) 2025.10.21
stm32 cpp  (0) 2025.08.08
stm32 eeprom emulation  (0) 2025.07.29
stm32f103ret flash program / erase 테스트  (0) 2025.07.28
Posted by 구차니
embeded/arduino(genuino)2025. 10. 14. 23:00

VIN은 외부에서 전원을 공급해 주는 것 같은데.. 여기서 끌어가는게 원래 안되어야 하는거 아닌가?

 

USB로 부터 전원을 받아 VUSB로 들어오고

 

auto selector에 의해서 VUSB가 +5V로 연결되는데, 레귤레이터를 거치지 않고 곳곳에 연결된다.

[링크 : https://docs.arduino.cc/resources/schematics/A000005-schematics.pdf]

[링크 : https://docs.arduino.cc/hardware/nano/]

 

다이오드는 30V 1A 까지 되는녀석같은데,

1A 이상 넣었다가는 파괴될수도 있으려나, 아니면 리밋만 1A 까지 걸리려나 모르겠다.

서보 모터 두세개 돌리기에는 1A로는 충분하지 않을듯 하니 별도 전원을 공급해야 겠네..

[링크 : https://www.digikey.kr/ko/products/detail/vishay-general-semiconductor-diodes-division/SS1P3L-M3-85A/4494959]

Posted by 구차니