embeded/esp322026. 1. 16. 23:21

액정은 뜯을수가 없어서 포기하고, 뒷면 전체를 보면

평범한(?) esp32-wroom-32 , 터치ic, sd 카드, rgb led, usb 시리얼 칩 그리고 ldo가 보인다.

 

esp32-wroom-32

xpt2046 터치 ic

rgb led

 

스피커 단자도 있는데 esp32의 dac 기능이 있었나?

AMS1117 LDO 2개

LTK8002D 오디오 앰프. 읭?

 

2채널 DAC가 있다고 하니 그걸 사용하면 될 것 같긴한데 일단 스피커와 앰프는 1채널만 해둔 듯?

[링크 : https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/dac.html]

[링크 : https://blog.naver.com/mapes_khkim/222284886951]

 

CH430C usb to serial

 

윈도우에서 보니 드라이버가 없는지 안 잡혀서

 

sparkfun에서 받아서 설치하니 잡힌다.

micro USB 나 USB-C 양쪽모두 시리얼 포트가 연결되어 있다.

[링크 : https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all#windows-710]

 

시리얼 포트를 115200bps로 연결하고 reset을 눌러보니 친숙한(?)

esp32 부트로더가 보이는 듯.

 

같이 준 케이스에 먼가 써있어서 구글 렌즈의 힘을 빌어보니

터치기능이 있는 7789라.. st7789 LCD 드라이버를 쓴걸려나?

 

 

맞다면.. 실험적으로는 65fps까지 나온다는 건데 오호.. 1.5만원에 사온거 치고는 좋은 액정이군(!)

ESP32 LCDs performance report
1. ST7796 4-wire SPI   16fps
2. ST7796 8-bit   34fps
3. ILI9488 4-wire SPI  11fps
4. ILI9488 8-bit  34fps
5. ST7789 4-wire SPI  65fps
6. ST7789 8-bit  5xfps(weird)
7. ILI9341 4-wire SPI  65fps
8. GC9A01  8xfps
9. ST7789 240x240  8xfps

[링크 : https://www.facebook.com/groups/797613180807626/posts/1048617505707191/]

 

https://macsbug.wordpress.com/2022/08/17/esp32-2432s028/

https://www.reddit.com/r/esp32/comments/ws6n4u/unknown_schematic_for_esp322432s028_board_anyone/?tl=ko

'embeded > esp32' 카테고리의 다른 글

esp32 와 spi lcd 성능 비..교?  (0) 2026.01.12
esp32 c6 zigbee thread matter  (0) 2026.01.10
esp32 benchmark  (0) 2025.11.18
esp32 lvgl  (0) 2025.11.15
esp32 계열 정리  (0) 2025.07.08
Posted by 구차니
embeded/esp322026. 1. 12. 16:44

문득 남에건 빠른데 내껀 왜 느리지 싶어서 찾아보는 중

내가 가진건 st7735 칩셋이고 얘가 좀 많이 느린듯

[링크 : https://minimonk.tistory.com/524246]

 

라즈베리 파이용으로 구했던건 dtb 상으로 ili9486 같다. (3.5inch rpi lcd (a) v3)

돌이켜 보면 mame 하기 버거울 정도로 느렸던것 같은데. 아무튼 16MHz 였군

waveshare35a: waveshare35a@0{
                                compatible = "ilitek,ili9486";
                                reg = <0>;
                                pinctrl-names = "default"; 
                                pinctrl-0 = <&waveshare35a_pins>;
                                spi-max-frequency = <16000000>;
                                rotate = <90>;
                                bgr;
                                fps = <30>;
                                buswidth = <8>;
                                regwidth = <16>;

[링크 : https://minimonk.tistory.com/5694]

 

그래서 나중에 구매한 3.5inch rpi lcd (c) 고속 lcd 인데 칩셋 이름이 없다.

Supports 125MHz high-speed SPI signal transmission

 

dtb 받아서 확인해보니 클럭이 어마어하게 올랐다. 어우 115Mhz 라니 기존대비 7배 올랐네

$ dtc -I dtb -O dts waveshare35c.dtbo 
<stdout>: Warning (unit_address_vs_reg): /fragment@0/__overlay__/spidev@0: node has a unit name, but no reg or ranges property
<stdout>: Warning (unit_address_vs_reg): /fragment@0/__overlay__/spidev@1: node has a unit name, but no reg or ranges property
<stdout>: Warning (gpios_property): /fragment@2/__overlay__/tft35a@0:reset-gpios: Could not get phandle node for (cell 0)
<stdout>: Warning (gpios_property): /fragment@2/__overlay__/tft35a@0:dc-gpios: Could not get phandle node for (cell 0)
<stdout>: Warning (gpios_property): /fragment@2/__overlay__/tft35a-ts@1:pendown-gpio: Could not get phandle node for (cell 0)
<stdout>: Warning (gpios_property): /__fixups__:gpio: property size (218) is invalid, expected multiple of 4
<stdout>: Warning (interrupts_property): /fragment@2/__overlay__/tft35a-ts@1:interrupt-parent: Bad phandle
/dts-v1/;

/ {
compatible = "brcm,bcm2835\0brcm,bcm2708\0brcm,bcm2709";

fragment@0 {
target = <0xdeadbeef>;

__overlay__ {
status = "okay";

spidev@0 {
status = "disabled";
};

spidev@1 {
status = "disabled";
};
};
};

fragment@1 {
target = <0xdeadbeef>;

__overlay__ {

tft35a_pins {
brcm,pins = <0x11 0x19 0x18>;
brcm,function = <0x00 0x00 0x00>;
linux,phandle = <0x01>;
phandle = <0x01>;
};
};
};

fragment@2 {
target = <0xdeadbeef>;

__overlay__ {
#address-cells = <0x01>;
#size-cells = <0x00>;

tft35a@0 {
compatible = "ilitek,ili9486";
reg = <0x00>;
pinctrl-names = "default";
pinctrl-0 = <0x01>;
spi-max-frequency = <0x6dac2c0>;
txbuflen = <0x8000>;
rotate = <0x5a>;
bgr = <0x00>;
fps = <0x1e>;
buswidth = <0x08>;
regwidth = <0x10>;
reset-gpios = <0xdeadbeef 0x19 0x01>;
dc-gpios = <0xdeadbeef 0x18 0x00>;
debug = <0x00>;
init = <0x10000f1 0x36 0x04 0x00 0x3c 0x0f 0x8f 0x10000f2 0x18 0xa3 0x12 0x02 0xb2 0x12 0xff 0x10 0x00 0x10000f8 0x21 0x04 0x10000f9 0x00 0x08 0x1000036 0x08 0x10000b4 0x00 0x10000c1 0x41 0x10000c5 0x00 0x91 0x80 0x00 0x10000e0 0x0f 0x1f 0x1c 0x0c 0x0f 0x08 0x48 0x98 0x37 0x0a 0x13 0x04 0x11 0x0d 0x00 0x10000e1 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00 0x100003a 0x55 0x1000011 0x1000036 0x28 0x20000ff 0x1000029>;
linux,phandle = <0x02>;
phandle = <0x02>;
};

tft35a-ts@1 {
compatible = "ti,ads7846";
reg = <0x01>;
spi-max-frequency = <0x1e8480>;
interrupts = <0x11 0x02>;
interrupt-parent = <0xdeadbeef>;
pendown-gpio = <0xdeadbeef 0x11 0x01>;
ti,x-plate-ohms = [00 3c];
ti,pressure-max = [00 ff];
linux,phandle = <0x03>;
phandle = <0x03>;
};
};
};

__overrides__ {
speed = <0x02 0x7370692d 0x6d61782d 0x66726571 0x75656e63 0x793a3000>;
txbuflen = [00 00 00 02 74 78 62 75 66 6c 65 6e 3a 30 00];
rotate = [00 00 00 02 72 6f 74 61 74 65 3a 30 00];
fps = [00 00 00 02 66 70 73 3a 30 00];
bgr = [00 00 00 02 62 67 72 3a 30 00];
debug = <0x02 0x64656275 0x673a3000>;
swapxy = <0x03 0x74692c73 0x7761702d 0x78793f00>;
};

__symbols__ {
tft35a_pins = "/fragment@1/__overlay__/tft35a_pins";
tft35a = "/fragment@2/__overlay__/tft35a@0";
tft35a_ts = "/fragment@2/__overlay__/tft35a-ts@1";
};

__fixups__ {
spi0 = "/fragment@0:target:0\0/fragment@2:target:0";
gpio = "/fragment@1:target:0\0/fragment@2/__overlay__/tft35a@0:reset-gpios:0\0/fragment@2/__overlay__/tft35a@0:dc-gpios:0\0/fragment@2/__overlay__/tft35a-ts@1:interrupt-parent:0\0/fragment@2/__overlay__/tft35a-ts@1:pendown-gpio:0";
};

__local_fixups__ {
fixup = "/fragment@2/__overlay__/tft35a@0:pinctrl-0:0\0/__overrides__:speed:0\0/__overrides__:txbuflen:0\0/__overrides__:rotate:0\0/__overrides__:fps:0\0/__overrides__:bgr:0\0/__overrides__:debug:0\0/__overrides__:swapxy:0";
};
};

[링크 : https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(C)?srsltid=AfmBOoqSBx9MWwgfxNGqcf86r2X4O_xpUVpX6gSELU31q2-5_RCjE0z1

[링크 : https://minimonk.tistory.com/9776]

 

예전에 2.4만원 넘어서 안샀던 것들이 ili9341 계열인데, 아래 보면 65fps까지 되는 쩌는 애들이네

[링크 : https://minimonk.tistory.com/12398]

 

아무튼 저런 애들을 써야 성능이 잘 나온다~ 라는거군

ESP32 LCDs performance report
1. ST7796 4-wire SPI   16fps
2. ST7796 8-bit   34fps
3. ILI9488 4-wire SPI  11fps
4. ILI9488 8-bit  34fps
5. ST7789 4-wire SPI  65fps
6. ST7789 8-bit  5xfps(weird)
7. ILI9341 4-wire SPI  65fps
8. GC9A01  8xfps
9. ST7789 240x240  8xfps

[링크 : https://www.facebook.com/groups/797613180807626/posts/1048617505707191/]

'embeded > esp32' 카테고리의 다른 글

esp32-2432S028 보드 st7789 spi lcd driver?  (0) 2026.01.16
esp32 c6 zigbee thread matter  (0) 2026.01.10
esp32 benchmark  (0) 2025.11.18
esp32 lvgl  (0) 2025.11.15
esp32 계열 정리  (0) 2025.07.08
Posted by 구차니
embeded/Cortex-M3 STM2026. 1. 11. 16:03

프로젝트 생성해서 좀 가지고 놀려고 하는데, 어... ioc파일이 없다? 

 

그래서 new.. 눌러서 생성가능한걸 보니

stm32 관련해서 많이 사라진 느낌이 든다.

 

검색해보니, cubeide 2.0 되면서 cubeMX 통합이 풀린 최초의 버전이 되었다는데

[링크 : https://community.st.com/t5/stm32cubeide-mcus/cubeide-2-0-does-not-open-ioc-files/td-p/857295]

 

전반적으로 다들 분노에 찬 상황 ㅋㅋㅋ

느린(?) eclipse 사용을 감수하는 이유가 cubeMX 설치없이 cubeIDE 에서 다할수 있어서 였는데

그 장점을 포기한 분리라.. 왜 이런 쓰레기 결정이 통과된거지?

We are pleased to announce that STM32CubeIDE 2.0.0 release is available.
STM32CubeIDE is now independent from STM32CubeMX.
With this release, device configuration, previously handled within STM32CubeIDE via STM32CubeMX, is now exclusively available through the stand-alone STM32CubeMX tool.
Users will configure microcontroller peripherals and generate initialization code separately in STM32CubeMX, then import the generated projects into STM32CubeIDE for coding and debugging.  
STM32CubeIDE, is now a stand-alone tool, offers the possibility to create empty project through its own MCU/Board selectors now present inside.
What does this change mean for developers? 
  • Separate download and installation: STM32CubeMX is no more integrated in STM32CubeIDE, requiring separate download alongside STM32CubeIDE 2.0.0 for configuration and code generation. 
  • Tool update flexibility: Developers can update and freeze STM32CubeMX and STM32CubeIDE independently, with multiple versions of each installed side-by-side. 
  • Memory footprint and performance: Removing STM32CubeMX integration reduces installation size (~3.7GB to 2.9GB) and lowers CPU/RAM usage, improving stability especially on Linux and Mac. 
Other relevant updates in STM32CubeIDE 2.0.0 
  • Microcontroller, microprocessor, and board lists aligned with STM32CubeMX v6.16.0:
    • Added the support for new microcontrollers in the STM32N6 series
    • Added the support for new microcontrollers in the STM32H5 series
    • Added the support for new microcontrollers in the STM32WBA series
    • Added the support for new microcontrollers in the STM32WL3x product line
    • Added the support for new boards: NUCLEO-WL3RKB1 and NUCLEO-WL3RKB2
  • User authentication removed
  • ST-MCU-FINDER-PC removed
  • Support for ST-ARM-CLANG, STMicroelectronics LLVM-based toolchain for Arm®, through site update mechanism
  • Support for GCC 14 toolchain through site update mechanism
  • Support for semihosting feature through debug via ST-LINK GDB server
  • Support for bundled CMake/Ninja binaries
Main fixed issues in 2.0.0:
Refer to the STM32 microcontroller wiki at:
https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.0.x
Known problems and limitations in 2.0.0:
Refer to the STM32 microcontroller wiki at:
https://wiki.st.com/stm32mcu/wiki/STM32CubeIDE:STM32CubeIDE_errata_2.0.x
How to get STM32CubeIDE 2.0.0:
  • Under this Link 
  • Or update your current installation of STM32CubeIDE using: Help > Check for updates (The in-tool update does not allow updating the drivers and STLINK server tool. Full installation is required for this to be done).

[링크 : https://community.st.com/t5/stm32cubeide-mcus/stm32cubeide-2-0-0-released/td-p/857110#:~:text=With%20this%20release%2C%20device%20configuration%2C%20previously%20handled%20within%C2%A0STM32CubeIDE%C2%A0via%C2%A0STM32CubeMX%2C%20is%20now%20exclusively%20available%20through%20the%20stand%2Dalone%C2%A0STM32CubeMX%C2%A0tool.]

 

현재로선 1.19로 돌아가는게 방법일듯.

Posted by 구차니
embeded/esp322026. 1. 10. 21:24

esp32 c6 에는 특이하게도 802.15.4 radio connectivity 라고 추가되어있는데

통상적으로 zigbee라고 불리던 녀석이라고 한다.

[링크 :https://ko.wikipedia.org/wiki/IEEE_802.15.4]

 

[링크 : https://www.espressif.com/en/products/socs/esp32-c6]

 

zigbee는 대~~충 알겠는데 thread는 먼가 했더니 ipv6 기반 인것 같고

[링크 : https://m.blog.naver.com/icbanq/223718993888]

[링크 : https://m.blog.naver.com/varofla_blog/223035721389]

[링크 : https://techblog.samsung.com/blog/article/30]

 

matter는 L3 / L4 / L7 이라고해야하나, 물리 계층은 아니고 상위 계층 프로토콜이라고 보면 될듯

그래서 zigbee + Thread + matter 라고 언급이 되는 것 같다.

[링크 : https://developers.home.google.com/matter/primer?hl=ko]

[링크 : https://www.varofla.com/ce36796b-438f-4603-9c3a-3b8e647d7783]

 

 

'embeded > esp32' 카테고리의 다른 글

esp32-2432S028 보드 st7789 spi lcd driver?  (0) 2026.01.16
esp32 와 spi lcd 성능 비..교?  (0) 2026.01.12
esp32 benchmark  (0) 2025.11.18
esp32 lvgl  (0) 2025.11.15
esp32 계열 정리  (0) 2025.07.08
Posted by 구차니
embeded/Cortex-M3 STM2026. 1. 6. 11:44

cubeide의 help에서 manage embedded software packages로 접근하거나

 

ioc 파일 열고 software packs - manage software packs로 접근하면 된다.

깔긴했는데 어떻게 띄우지 -ㅁ-?

Posted by 구차니
embeded/Cortex-M4 STM2026. 1. 5. 17:46

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

stm32g4 cordic fmac  (0) 2025.11.28
STM32CubeProgrammer / uart / parity  (0) 2025.11.28
stm32flash 0.5 0.7 버전과 stm32g473  (0) 2025.11.28
stm32g473 ADC calibration  (0) 2025.11.28
stm32f411 black fill board  (0) 2025.11.22
Posted by 구차니
embeded/Cortex-M3 STM2026. 1. 5. 16:51

대~~충 프로젝트 하나 파고 외부 8MHz로 해서 PLL 사용해 USB에는 48MHz를 넣어준다.

 

USB Fast Speed 를 지원하도록 하고 CDC(VCP) 를 지원하도록 하면

 

 

PA11 / PA12에 USB_DP / USB_DM 이라고 표기된다.

그런데.. D는 D+ 니까 Positive 같은데 왜 D-는 DM이지? negative DN 이어야 하지 않나?

(ai 답변. data minus.. -_-)

 

아무튼 미들웨어 추가하면, 미들웨어와 USB_DEVICE 라는 디렉토리가 추가된다.

 

함수 쓰는건 귀찮으니 대충 끌어옴.

int main(void)
{

/* USER CODE BEGIN 1 */
#define BUF_SIZE 30
uint8_t usb_buf[BUF_SIZE];
uint32_t count = 0;
/* USER CODE END 1 */

/* MCU Configuration--------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* USER CODE BEGIN Init */

/* USER CODE END Init */

/* Configure the system clock */
SystemClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */

/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USB_DEVICE_Init();
/* USER CODE BEGIN 2 */

/* USER CODE END 2 */

/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
sprintf((char*)usb_buf, "USB CDC TEST %ld\r\n", count);
CDC_Transmit_FS(usb_buf, BUF_SIZE);
HAL_Delay(1000);
memset(usb_buf,0,BUF_SIZE);
count++;

/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}

[링크 : https://eteo.tistory.com/194]

 

꽂으니 아래처럼 인식한다.

$ sudo demsg -w
[25664.443438] usb 1-2: new full-speed USB device number 26 using xhci_hcd
[25664.574720] usb 1-2: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
[25664.574741] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[25664.574748] usb 1-2: Product: STM32 Virtual ComPort
[25664.574754] usb 1-2: Manufacturer: STMicroelectronics
[25664.579419] cdc_acm 1-2:1.0: ttyACM0: USB ACM device

 

$ lsusb -t -v
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 2: Dev 26, If 0, Class=Communications, Driver=cdc_acm, 12M
        ID 0483:5740 STMicroelectronics Virtual COM Port
    |__ Port 2: Dev 26, If 1, Class=CDC Data, Driver=cdc_acm, 12M
        ID 0483:5740 STMicroelectronics Virtual COM Port

minicom은 9600으로 하던 115200 으로 하던 동일하게 값이 잘 들어온다. 신기하네

다만 많은 데이터가 있을때는 어떻게 될 진 미지수. 나중에 테스트 해봐야지

 

 

1회 굽기는 되는데 그 이후로 rebooting이 안될 때

step 1. reset 누르고 connect 누르고 reset 뗀다음 full chip erase

 

step 2. cubeide에서 swd 핀 할당해주기

 

"no debug" 로 두면 PA13/PA14가 주황색으로 되는데, 그러면 계속 retry 뜨니까 Serial Wire로 변경해준다.(SWO)

이건 실패시



STMicroelectronics ST-LINK GDB server. Version 7.8.0
Copyright (c) 2024, STMicroelectronics. All rights reserved.

Starting server with the following options:
        Persistent Mode            : Disabled
        Logging Level              : 1
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Disabled
        SWD Debug                  : Enabled

Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.17.0                  
      -------------------------------------------------------------------



Log output file:   /tmp/STM32CubeProgrammer_RFILwX.log
ST-LINK SN  : 31000D000D2D343632525544
ST-LINK FW  : V2J45S7
Board       : --
Voltage     : 3.21V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x410
Revision ID : Rev X
Device name : STM32F101/F102/F103 Medium-density
Flash size  : 128 KBytes
Device type : MCU
Device CPU  : Cortex-M3
BL Version  : --



Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_byIESj.srec
  File          : ST-LINK_GDB_server_byIESj.srec
  Size          : 31.65 KB 
  Address       : 0x08000000 


Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 31]
Download in Progress:


File download complete
Time elapsed during download operation: 00:00:01.365



Verifying ...




Download verified successfully 


Shutting down...
Target is not responding, retrying...
Target is not responding, retrying...
Target is not responding, retrying...
Target is not responding, retrying...
Target is not responding, retrying...

 

이건 설정해주고 잘 될 때

STMicroelectronics ST-LINK GDB server. Version 7.8.0
Copyright (c) 2024, STMicroelectronics. All rights reserved.

Starting server with the following options:
        Persistent Mode            : Disabled
        Logging Level              : 1
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Disabled
        SWD Debug                  : Enabled

Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
      -------------------------------------------------------------------
                        STM32CubeProgrammer v2.17.0                  
      -------------------------------------------------------------------



Log output file:   /tmp/STM32CubeProgrammer_0DypHa.log
ST-LINK SN  : 31000D000D2D343632525544
ST-LINK FW  : V2J45S7
Board       : --
Voltage     : 3.21V
SWD freq    : 4000 KHz
Connect mode: Under Reset
Reset mode  : Hardware reset
Device ID   : 0x410
Revision ID : Rev X
Device name : STM32F101/F102/F103 Medium-density
Flash size  : 128 KBytes
Device type : MCU
Device CPU  : Cortex-M3
BL Version  : --



Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_a2ozrR.srec
  File          : ST-LINK_GDB_server_a2ozrR.srec
  Size          : 31.65 KB 
  Address       : 0x08000000 


Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 31]
Download in Progress:


File download complete
Time elapsed during download operation: 00:00:01.371



Verifying ...




Download verified successfully 


Shutting down...
Exit.

[링크 : https://blog.naver.com/crucian2k3/221533654464]

 

stlink/v2 에서는 3v3 핀을 제거하고 usb를 연결해주면 깔끔하게 전원이랑 문제없이 연결된다.

 

+

2026.01.06

되긴한데.. 먼가 잘되진 않는 느낌. 소스코드 하나 붙여넣고 그러면 정상적으로 나오지 않고

usb 연결한채로 프로그램을 다시 구으면 usb 뽑았다 꽂기 전에는 재기동이 정상적으로 이루어지지 않는다.

클럭을 올려도 (72MHz) 안되는걸 보면 다른게 문제인데... 멀까?

// main.c
void USB_CDC_RxHandler(uint8_t* Buf, uint32_t Len)
{
  for(int idx = 0; idx < Len;idx++)
  if(Buf[idx] == 0x0D) Buf[idx] = 0x0A;
CDC_Transmit_FS(Buf, Len);
}

// usbd_cdc_if.c
static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
{
  /* USER CODE BEGIN 6 */
  USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
  USBD_CDC_ReceivePacket(&hUsbDeviceFS);

  USB_CDC_RxHandler(UserRxBufferFS, *Len);
  memset(UserRxBufferFS, '\0', *Len);

  return (USBD_OK);
  /* USER CODE END 6 */
}

 

[링크 : https://deepbluembedded.com/stm32-usb-cdc-virtual-com-port-vcp-examples/#stm32-usb-cdc-transmit-example]

Posted by 구차니
embeded/Cortex-M3 STM2026. 1. 5. 14:25

PA1이 high로 되어있어야 한다는데

D+가  high로 되어있어야지 usb로 인식되려나?

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

 

그래서 stm32f103c8t6 blue pill 회로도 찾아보니 d+ 라인에 5v pull up이 걸려있다.

내가 가진건 정확한 모델을 알 수 없는 클론이라 머.. 이대로 되어있을거라고 생각해도 되려나?

[링크 : https://stm32-base.org/assets/pdf/boards/original-schematic-STM32F103C8T6-Blue_Pill.pdf]

 

Full speed 에서는 D+에 1.5k 의 pull up을

Low speed 에서는 D-에 1.5k 의 pull down을 규격으로 내세우고 있다.

[링크 : https://wcours.gel.ulaval.ca/GIF1001/old/h20/docs/USB_20.pdf]

[링크 : https://www.varofla.com/8c2ccda5-dc69-47a7-bd69-dd90aa64e5b1]

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

stm32cubeide에 x-cube-ai 설치  (0) 2026.01.06
stm32f103c9t6(bluepill) + stlinkv2 + cdc(vcp)  (0) 2026.01.05
bluepill 보드를 stlink v2로 만들기  (0) 2025.12.16
stm32f103ret crc  (0) 2025.12.09
stm32f103ret middleware - usb  (0) 2025.12.09
Posted by 구차니
embeded/Cortex-M3 STM2025. 12. 16. 16:10

discovery 보드에서 jtag 부분에 stm32f103c8t6을 사용하고 있길래

[링크 : https://www.st.com/en/evaluation-tools/b-l072z-lrwan1.html]

 

저번에 구매했던 bluepill 보드를 어떻게 하면 jtag으로 개조할 수 있을까 하고 찾아보는데..

합법적이고 공식적인 방법은 없는듯.

[링크 : https://blog.naver.com/chandong83/222586172793]

 

[링크 : https://www.st.com/en/development-tools/stsw-link007.html] << 펌웨어 업로더

[링크 : https://www.st.com/en/development-tools/stsw-link004.html] << 펌웨어 업로더

[링크 : https://github.com/Krakenw/Stlink-Bootloaders] << 누군가 덤프해둔 stlink 펌웨어

 

This Firmware is not open source. But it may be delivered in a few cases after request to an FAE or a marketing agent.

[링크 : https://community.st.com/t5/stm32-mcus-boards-and-hardware/st-link-source-code/td-p/711010]

 

반대로.. jtag을 싸게 팔면 그걸 사서 bluepill 처럼 써버리는것도 방법이려나?

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

stm32f103c9t6(bluepill) + stlinkv2 + cdc(vcp)  (0) 2026.01.05
stm32f103 bluepill 회로도, usb 풀업  (1) 2026.01.05
stm32f103ret crc  (0) 2025.12.09
stm32f103ret middleware - usb  (0) 2025.12.09
stm32f103ret connectivity - usb  (0) 2025.12.09
Posted by 구차니
embeded/Cortex-M0 STM2025. 12. 10. 18:02

UCPD는 별도로 판매하는 건가...?

cortex-m0 기반의 개발보드인데.. 정체를 모르겠다..

m0인데 왜 액정이 달려있고 HDMI 나 DP가 달린거지...

 

[링크 : https://www.st.com/en/evaluation-tools/stm32g081b-eval.html#overview]

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

STM32G071B-DISCO  (0) 2025.12.10
stm32g081b-eval / mb1352-c02  (0) 2025.12.10
Posted by 구차니