[AVR] AVRISP MK2/STK500 프로그래머 AVR은 굉장히 많은 사람들이 사용하는 MCU 중 하나다. 특히 대학에서도 많은 교육을 하는 MCU로 학생들도 많이 사용한다. 나도 학교에서 AVR을 배웠는데 그때 다운로드하는 프로그래머가 ISP이다. 사실 AVR 라인업에 소형 MCU는 ISP가 거의 기본이다. 좀 큰 라인업에 JTAG이 있긴 한데 내가 알고 있는 대부분의 MCU는 ISP이다. 참고로 ISP와 JTAG의 차이는 디버깅이 가능하냐 아니냐의 차이로 보면 되겠다. 여튼 그러다보니 대표적으로 사용되는 프로그래머가 MKII로 Atmel에서 나온 아래 제품이다. 하지만 가격이 6만원대로 꽤 높은 가격을 형성한다고 개인적으로는 생각한다. 기왕이면 차라리 ICE를 사서 쓰는게 좋겠지만 이것도 가격이 비싸고 ISP가 안된다....ㅠ.ㅠ 여튼 그래서 IS.. 프로그램 이야기/펌웨어 3년 전
[펌웨어] 펌웨어 프로그램을 위한 공부 최근 STM32 ARM 칩을 새로이 익혔다. 이로서 또 하나의 펌웨어를 다룰 수 있게 되었다. 여기서 말하고 싶은 것은 내 생각이라 틀릴 수도 있지만 대체로는 맞을 거 같다. 펌웨어라는게 정석이 있나 싶은데 여튼 난 그래도 적절한 기간 최소 10년 정도는 펌웨어를 다루었고 수준은 중급은 되는 것 같다. 그래서 결국 내 경험을 기반으로 펌웨어에 대한 이야기를 좀 적어보고자 한다. 생각보다 사람들이 펌웨어에 대한 관심도가 높은 것 같다. 그도 그럴 것이 우리 생활에 활용되는 범위가 무궁무진하고 예전처럼 접하려면 많은 어려움이 생기는 것도 아닌지라 좀 관심을 가지면 자신이 만들고 싶어하는 것을 만들 수 있다. 사설이 길었는데 STM32 이야기를 하는 이유가 펌웨어는 어차피 언어를 배운다기 보다 칩을 익히는 것.. 프로그램 이야기/펌웨어 4년 전
[FPGA] Altera USB Blaster JTAG Pin Map (10Pin) 펌웨어 프로그램을 하면서 사용되는 프로그램 포트의 형태 중 JTAG가 제일 많이 쓰이는 것 같다. JTAG는 디버깅도 가능하고 속도도 빠르다. 뭐 제조 업체나 혹은 핀의 갯수에 따라 핀 맵은 일률적이지는 않다. 오늘은 Intel FPGA를 다운로드 할 일이 있어서 핀 맵을 찾아보았다. JTAG은 대부분 헤더가 표준인데 헤더의 크기가 큰 편이라 실제로는 중간에 전환 케이블을 상황에 맞게 제작하여 사용한다. 즉, PCB 쪽에서는 적절한 커넥터를 만들고 그 커넥터의 상대 커넥터와 헤더 소켓 커넥터를 연결하여 사용한다. 그래야 PCB에서 부담없이 장착이 가능하기 때문이다. 여튼 그래서 다운로드 하기 위해 핀을 확인하던 중 기록을 위해 남겨놓는다. 내용은 Intel User Guide에 있는 내용이다. 프로그램 이야기/펌웨어 4년 전
[펌웨어] 펌웨어란 무엇인가? 쉽게 본 개념 정리 주변에서 전자 좀 한다하면 쉽게 접할 수 있는 말이 펌웨어라는 말이 있다. 전자 제품이 고급화 되면서 이 펌웨어가 안들어간 제품을 찾기 힘들 정도로 많은데 정작 펌웨어를 한다는 말이 무슨 말인지 모르는 경우가 많다. 사실 뭐 펌웨어라고 딱히 내가 정의를 배우거나 하지는 못했지만 난 현재 펌웨어 엔지니어라고도 볼 수 있다. 주력으로 하는 일이 펌웨어를 짜는 일이니까.....뭐 여튼 배웠어도 시험 보고 나면 까먹는게 정의인지라 내가 일하면서 느낀 펌웨어라는 개념을 좀 설명하겠다. 이게 뭐 설명할 일도 아니지만 내가 처음 프로세서를 배우거나 FPGA를 학교에서 배우거나 할 때 힘들었던 것이 이걸 어디다가 쓰는 것인가? 어떤 경우에 필요하지? 라는 근본적인 개념이 탑재되어 있지 않았다. 결국 하라는데로 하는데 .. 프로그램 이야기/펌웨어 4년 전
Atmega 사용시 주의점 - volatile 임베디드 시스템을 위해 펌웨어를 작성할 때 일반적인 소프트웨어 작성하듯 하다 보면 낭패를 격게 되는 경우가 종종 있다. 이번에 내가 고생한 부분을 하나 이야기 하면서 다른 분들은 그러지 않기를 바란다. 이전 포스팅에서도 적었지만 오랜만에 Atmega를 사용하게 되었다. 원래 내가 주로 사용하는 MCU는 siliconlab사의 C8051을 주력으로 사용하는데 이번 프로젝트는 고객사에서 Atmega를 사용해 다라고 하여서 오랜만에 프로그램을 하게 되었다. C8051에 대해서는 다른 포스팅에서 다룰 것이긴 한데 내 개인적인 견해로는 8bit MCU 중 좋은 편이다. 성능이나 유동성에 있어서 다른 MCU보다 좋다. 여튼 원래 8051을 사용하면서는 문제가 없었던 일이 또 발생하였는데 이번에는 통신에서 발생하였다.. 프로그램 이야기/펌웨어 5년 전
Atmel Studio 7.0 Atmega8 ADC 사용시 주의점 오랜만에 Atmega로 펌웨어 프로그램 할 일이 생겨서 작업을 시작해 보았다. 오랜만이라 툴도 제대로 안 깔려 있고 해서 툴부터 셋팅하고 ISP도 찾고 한 참 고생끝에 셋팅 완료.... 툴은 Atmel Studio 7.0, ISP는 Atmel MKII로 하였다. 여기서 좀 황당했던게 예전에 ISP사용할 때는 그것 밖에 몰라서 그랬는지 당연하게 그냥 디버깅 안하고 사용했는데 디버깅이 안된다는걸 이번에 알았다. 한동안 계속 JTAG을 사용했으니 당연히 된다고 생각하고 계속 시도하는데 안되어서 찾아보니 역시 사람은 좀 배워야 하나보다... ISP는 'In System Programming'으로 다운로드만 된다. 맨날 ISP라고만 했지 실제로 이 단어의 풀 네임을 몰랐으니 뭐....참고로 JTAG은 Joint .. 프로그램 이야기/펌웨어 5년 전