파일방2026. 1. 9. 10:58

directfb는 예전에 죽은거 같았는데 찾다보니 directFB2로 이어지고 있다고 한다

 

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

[링크 : https://directfb2.github.io/]

[링크 : https://github.com/directfb2/DirectFB2]

'파일방' 카테고리의 다른 글

lvgl pro, square line studio  (0) 2026.01.09
nanoVG  (0) 2026.01.09
popos  (0) 2025.09.03
GNS3  (0) 2025.09.01
makeself  (0) 2025.08.25
Posted by 구차니
파일방2026. 1. 9. 10:55

lvgl 보다 보니 임베디드 리눅스에서 nanoVG를 통해 쓰는게 있대서 보는데

[링크 : https://docs.lvgl.io/master/integration/embedded_linux/nanovg.html]

 

openGL을 이용한 벡터그래픽 라이브러리

써야하냐.. 라는 측면에서는 페이지의 최상단에 써있는 한 문구가 걸리네..

그 와중에 opengl을 통해 렌더하는거라.. x 없이는 무리일려나?

This project is not actively maintained.

[링크 : https://github.com/memononen/nanovg]

 

 

'파일방' 카테고리의 다른 글

lvgl pro, square line studio  (0) 2026.01.09
directFB2  (0) 2026.01.09
popos  (0) 2025.09.03
GNS3  (0) 2025.09.01
makeself  (0) 2025.08.25
Posted by 구차니

ttyACM 이라는 장치명으로 붙길래 ACM의 약자가 궁금해서 검색

Communication Device Class (Abstract Control Model)

[링크 : https://www.keil.com/pack/doc/mw/usb/html/group__usbh__cdcacm_functions.html]

 

 

[링크 : https://docs.oracle.com/cd/E19253-01/819-0360/gevsx/index.html]

 

CDC의 서브클래스라고 해야하나.. 아무튼 CDC에 ACM과 ECM이 있는데

그러면 usb to ethernet 들은 ECM 클래스인가? 조사를 나중에 해봐야겠네

3) Communication Device Class(CDC)
USB to Serial, USb to ethrenet 등 usb 포트에 연결하여 통신하는 디바이스들이 주로 사용하는 class이다. CDC는 통신 방법에 따라 ACM, ECM, EEM, NCM, OBEX 등의 다양한 subclass를 사용한다.
ACM(Abstract Control Model Class)
USB to Serial에 주로 사용되는 subclass
ECM(Ethernet Networking Control Model)
Usb to ethernet의 subclass. 주 목적은 ethernet packet을 전송하기 위한 class이다.

[링크 : https://jeongzero.oopy.io/fad066a1-fe95-487e-a826-003aee42a0cc]

 

ECM - usb if에서 정의

rndis (remote ndis) - ms에서 개발한 독점 프로토콜

[링크 : https://codezoo.tistory.com/109]

[링크 : https://community.st.com/t5/stm32-mcus-products/stm32u5x-usb-ecm-demo-how-to-setup-host/td-p/631189]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

pc 쿨링팬 pwm 주파수  (0) 2025.12.01
bit banging  (0) 2025.05.08
numa 와 smp  (0) 2025.05.07
USB BOS - Binary Object Store  (0) 2024.07.14
DDR3 pinout과 ECC  (0) 2024.04.01
Posted by 구차니

곱씹어봤자 좋을것도 없지만 왜 나에대한 대우는 이따구인가 라는 생각이 들면

자꾸만 짜증이 물밀듯이 밀려온다.

인터넷 글을 봐도 이상하리 만치 일을 해결하려는 사람들에게 딴지가 걸리는건 왜일까..

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

일이 끝나지 않아!  (0) 2025.12.18
외근, 피곤  (0) 2025.12.17
송년회  (0) 2025.12.08
이게 번아웃인가  (0) 2025.12.05
눈 아니 폭설  (2) 2025.12.04
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 구차니

문득 생각나서 검색하는데 실험적인 기능.. smb3 멀티채널

에이 설마 저런게 옵션이겠어?goTsmsep

 

 

EXPERIMENTAL FEATURES
=====================

SMB3 Multi-Channel
------------------

Samba 4.4.0 adds *experimental* support for SMB3 Multi-Channel.
Multi-Channel is an SMB3 protocol feature that allows the client
to bind multiple transport connections into one authenticated
SMB session. This allows for increased fault tolerance and
throughput. The client chooses transport connections as reported
by the server and also chooses over which of the bound transport
connections to send traffic. I/O operations for a given file
handle can span multiple network connections this way.
An SMB multi-channel session will be valid as long as at least
one of its channels are up.

In Samba, multi-channel can be enabled by setting the new
smb.conf option "server multi channel support" to "yes".
It is disabled by default.

[링크 : https://www.samba.org/samba/history/samba-4.4.0.html]

 

진짜냐?!

4.4.0 에서 실험 기능으로 도입되고, 4.15 에서부터는 기본값으로 바뀐듯?

server multi channel support (G)
This boolean parameter controls whether smbd(8) will support SMB3 multi-channel.

This parameter was added with version 4.4.

Note that this feature was still considered experimental up to 4.14.

Due to dependencies to kernel APIs of Linux or FreeBSD, it's only possible to use this feature on Linux and FreeBSD for now. For testing this restriction can be overwritten by specifying force:server multi channel support=yes in addition.

This option is enabled by default starting with to 4.15 (on Linux and FreeBSD).

Default: server multi channel support = yes

[링크 : https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html]

'프로그램 사용 > SMB(Samba)' 카테고리의 다른 글

cifs mount 실패시 설치 패키지  (0) 2023.02.10
nas samba warn  (0) 2019.03.17
smb 와 selinux 설정  (0) 2019.02.14
smb 서비스 속도향상하기(SSD-bcache, AIO)  (0) 2019.02.01
samba acpi s3 wake up  (0) 2017.08.11
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 구차니

권력을 이용한다고 해야하나.. 그냥 폭력주의라고 해야하나..

일부에서는 베네수엘라 국민들이 환영하고 있다는 말도 있는데.. 쩝...

 

주권국가 대통령 생포한 트럼프···‘불량 초강대국의 시대’ 본격화

[링크 : https://www.khan.co.kr/article/202601041443001]

'개소리 왈왈 > 정치관련 신세한탄' 카테고리의 다른 글

영포티 단상  (0) 2025.11.10
은행 이자는 점점 떨어지네  (0) 2025.09.17
콜래트럴 데미지  (0) 2025.06.03
전장련 시위 시작  (0) 2025.04.21
보수(保守)는 보수(報酬)를 먹고 자란다  (0) 2025.04.18
Posted by 구차니