초보의 아웅다웅 설계하기/W7500P 9

W7500P 플래쉬 라이팅을 위한 FLM 파일 생성

W7500P 제품내의 플래쉬에 대한 환경 설정을 하지 않으면 다운로드를 할 수 없습니다. W7500_flash_algo_mdk 프로젝트 파일을 컴파일 하면 W7500_128.FLM 파일이 나오는 데 이 파일을 C:\Keil_v5\ARM\Flash 폴더에 넣어야 Keil 컴파일러에서 다운로드할 플레쉬 파일이 보이게 됩니다. FLM 파일을 생성하여 넣지 않으면 플래쉬 정보를 알지 못해 다운로드를 할 수 없습니다. 글로벌하게 많이 사용하는 제품이거나 Keil에 요청하여 들어간 제품들을 제외하고는 FLM 파일을 제공하거나 W7500P와 같이 프로젝트 파일을 제공하는 것 같습니다. wizwiki.net/wiki/doku.php/products:wizwiki_w7500:start_getting_started:deb..

W7500P - UART 설정

W7500P에서 UART RX를 인터럽트 구조로 잡은 상태에서 UART를 연결하지 않으니 정상동작을 하지 않았습니다. 때문에 UART RX 단자를 처음 셋팅때 연결되어있는지 확인하고 연결이 되어 있으면 인터럽트로 동작하도록 잡았는데 가만 생각해보니 풀업 설정만 해도 될 것 같았습니다. void UART_Config(uint8_t uart, uint32_t baud) { uint8_t RXStatus = 0; GPIO_InitTypeDef GPIO_InitStruct; UART_InitTypeDef UART_InitStructure; if(uart == USART_0){ PAD_AFConfig(PAD_PA, GPIO_Pin_14, PAD_AF0); GPIO_InitStruct.GPIO_Pin = GPIO_..

W7500P - 리셋타이밍

주로 많이들 사용하는 같은 급의(ST, NXP 등등) MCU와 다르게 W7500P의 리셋타이밍에는 문제가 좀 있는 듯 싶습니다. 위즈넷사에서 제공하는 노트에도 명시되어 있는 부분입니다. 20ms를 명시해놓은 걸로 기억하는데 만일 지연 타이밍이 없다면 초기에 동작하지 않을 수 있습니다. 일단 R 200K, C 1uF으로 지연시간을 좀 늦추니 동작을 합니다. 양산시에는 보증할 수 없지만 테스트 용도로는 충분할 것 같습니다.

W7500P - SWD와 PA3, PA4

사용을 하다가 실수로 사용하지 않는 SWD 단자인 PA3과 PA4를 Out으로 설정하였습니다. 설정 후에는 SWD로 라이팅이 되지 않아 고생했습니다. 몇몇 제품의 경우는 리셋을 누르고 있는 상태에서 라이팅을 누르고 리셋 버튼을 풀어주면 라이팅이 되었는데 W7500P는 그 방법이 되지 않아 고생하다 ISP가 지원된다는 게 갑자기 생각 났습니다.(물론 IO는 안 뽑아놨습니다. ㅠㅠ) SWD 단자 설정을 다시하고 ISP로 라이팅한 후 다시 SWD를 사용할 수 있었습니다. 칩을 바꿔야하나 하는 갈등을 했었는데... 다행이었습니다. ARTWORK 하면서도 실수를 했는데.. ST의 LQFP 타입보다 PIN 간격이 좁았습니다...... 안보고 그냥 했다가 개망..

Wiznet W7500P의 추가 메모리 사용

이더넷 칩으로 유명한 위즈넷에서 W7500/W7500P에서 보면 최고 48KB까지 SRAM을 사용할 수 있다고 나와있습니다.SDK를 보면 0x20000000에서 16KB(0x4000)까지 밖에 사용할 수 없는데요.사용할 수 있는 방법을 찾아보면 Socket 버퍼를 메모리로 사용하는 방법입니다.(신박하네요.)데이터 시트상에서보면 가상 주소에 물리주소가 겹쳐있는 형태로 되어 있는데 가상 주소가 실제 물리주소보다 크다보니 가상 주소 영역을 넘어가면 물리주소의 0번지부터 되돌아가는 형태로 되어있습니다.0x461E0000부터 0x461EFFFF까지 잡는다고 해도 실제로는 2KB(0x800)까지밖에 사용하지 못하게 됩니다.그래도 최대 4KB까지 사용할 수 있는 방법이 있는데요 Socket의 TX와 RX 사이를 겹쳐..