초보의 아웅다웅 설계하기/STM32 88

Intel-Hex 프로토콜 구조

keil로 컴파일하고 나니 나온 Address Offset 데이터가 위아래로 섞여 있어서 난리였습니다. 차근차근 일정한 패턴을 가지고 Address Offset가 순차로 내려갈 줄 알았는데 위, 아래, 위위, 아래 난리네요. 다운로드 프로그램을 만드는데 전부 확인해서 조립한 다음 일정 바이트씩 쪼개서 내려줘야하니 이것도 참 문제네요. --- Intel-Hex 프로토콜 구조 --- STX : 1byte(:) Length : 1byte Address Offset : 2byte Type : 1byte Data : 0 ~ 255byte CheckSum : 1byte 예제) :09 6D59 00 7D027F487E600265F7 AF :10 6B0F 00 7D047F487E601265F77F467E601265FE..

SPI Slave에서 입력 데이터 처리

사용 MCU : STM32L432 SPI Slave Mode에서 입력된 데이터를 파싱하고 처리하는 데도 연달아 데이터가 계속 들어오다보니 어느순간 SPI가 죽어버렸습니다. (SPI Flash의 쓰기 같은 경우 데이터를 넣고 나서 완료되었는 지 Status 값을 확인하기 위해 SPI에 데이터를 계속 넣는데 그런 경우를 가정하였습니다. - 사용중에 MCU의 Reset를 하도록 회로설계가 되면되지만 그렇지 못한 경우도 가정해야하니까요.) 어디선가 충돌이 나고 있는데... 들어온 데이터의 암복호화 연산처리중에 죽는건지(Stack도 충분한데) 사실 파악은 하지 못하였으나 일단 다 연산하기 전에 셋다 disable 해주고 나서 처리 후 enable 해주니까 괜찮네요... 안 괜찮네요. 원인 파악을 확실히 못했으니 ..

STM Cube 예제에서 USB Device MSC에서 저장공간을 RAM으로 잡고 사용하기

/* Includes ------------------------------------------------------------------*/ #include "usbd_storage.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ #define STORAGE_LUN_NBR 1 #define STORAGE_BLK_NBR 64 //64 blocks * 512 = 32k #define STORAGE_BLK_SIZ 512 //doesn't seem to work w..

CKS32F103 => STM의 카피캣을 만나다.

저가에 IO가 크게 필요없는 제품을 개발하기 위해서 보다보니 약 3000원의 STM32F103 제품이 보였습니다. PCB 뜨고 이러면 비싸니 바로 구매하였습니다. 며칠 지나니 택배가 똭!! 근데 어라? 머 이상하네? 테스트하려고 보니 CKS32F103C8T6.. 말로만 들었던 중국 카피캣 제품이 !!! - 사이트에 STM32라면서요? 혹시나 하고 STM으로 프로그램을 짠 후 ST-Link와 ST Utility를 사용하여 라이팅했더니 정상 동작 두둥.... 신뢰성은 괜찮은걸까? 사용해도 되는 걸까? 하는 의구심은 있지만 일단 사용... (테스트는 USB와 Led만 깜빡거려보았습니다.) 항상 놀라지만 중국의 카피 능력은 진짜 대단하네요. 시스템 개발 보드 단일 칩 코어 STM32 ARM STM32F103 h..

STM Custom HID 보드로 입력되는 값 4Byte로 수정하기

STM Custom HID 보드로 입력되는 값 4Byte로 수정하기 선언을 TX라고 했지만 실제 in, out은 PC를 기준으로 하기때문에 PC의 out이 보드에서는 in입니다. #define MAXPCKRXSIZE 0x02 #define MAXPCKTXSIZE 0x04 /* USB Configuration Descriptor */ /* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */ const uint8_t CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] = { 0x09, /* bLength: Configuation Descriptor size */ USB_CONFIGURATIO..

ST의 디자인 툴

ST사에서 웹으로 설계 프로그램을 지원하고 있습니다. NFC쪽을 그리다 안테나 설계를 안테나 회사에 다니는 친구에게 부탁을 할까하면서 구글링을 하다보니 ST에서 지원하는 것을 알게 되었습니다. 여러가지 설계 지원 툴 중 하나지만 제가 필요한 건 이거니까. 값을 변경해가면서 바로바로 결과를 알 수 있으니 좋습니다. 실제 PCB를 제작했을때도 동일하게 나올지는 잘 모르겠네요. 요즘 TI도 그렇고 ST도 그렇고 원하는 결과만 넣으면 값과 회로도까지 툭하고 튀어나오니 진짜 편하네요. 한편으로는 하드웨어 엔지니어인 제 자리가 위험하다는 생각이 드네요. 몇년뒤면 하드웨어 엔지니어는 없어지지 않을까 하는 걱정까지 듭니다. 펌웨어도 설정을 하면 기본 소스가 나오는 걸 보면 그 자리도 위험하긴 매한가지겠네요. 에휴 앞으..