드디어 ARM7강좌 최종회를 쓰게 되었습니다. 제가 ARM7을 기준으로 강의를 해 왔지만, 실제로 사용했던 CPU는 StrongARM이었습니다. 그래서, 오늘은 StrongARM SA1100에 대해서 간단히 말해 보고자 합니다.(사실 별로 아는 것도 없지만..)
물론 자세한 Spec은 메뉴얼을 통해 살피시는 것이 더 정확할 테니까 제가 말씀드려봐야 별 의미가 없을 듯 하고.
그냥 StrongARM을 사용하면서 인상깊었던 점을 몇 가지 말씀드리고자 합니다.
첫 번째로 가장 중요한 점으로 생각되는 것은 CPU 동작속도가 200MHz정도까지를 지원한다는 점입니다. 이전에 접했던 Embedded CPU 가 빨라야 50MHz이었던 것을 감안한다면, 참 빠른 CPU입니다. 그런데 이 칩은 신기하게도 열이 별로 안난다는 것이 또한 인상적입니다.
보드를 몇 일씩 켜 놓아도 안정적이고, 불안하지가 않더군요. 옛날에 AMD188을 사용할 때에는 잠시만 켜 놓아도 보드가 녹아나는 것이 아닐지 얼마나 불안했던지 그만큼 전력 소모도 작다는 뜻이겠지요.
두 번째로는 LCD 컨트롤러가 내장되어 있어서 1024*1024의 해상도까지 지원하고, 컬러는 3만 컬러까지 지원합니다. 역시 일반 On-Board칩과 비교할 만한 일은 못되겠지만, 그런 칩만 다루었던 제게는 참 흐뭇한 일이었습니다. SA1100 보드에 640*480 TFT LCD가 달려있었는데, 거기에 고소영 사진을 띄워놓고 얼마나 흐뭇해했던지...^^
세 번째 인상 깊었던 것은 MMU 입니다. 학교 다닐 때 OS 수업시간에나 들어봤던 MMU라는 것을, 직접 프로그램 해야 했으니까요. 나중에 차차 알게된 사실이지만, 이 MMU가 있는지의 여부가 Linux와 같은 OS를 포팅 할 경우에는 무척 중요하다고 하군요. StrongARM의 경우는 Two-Level Virtual Memory를 지원합니다. 메모리를 최소 400H Byte단위로, 최대 1Mega Byte단위로 제어할 수 있습니다.
이밖에도 GPIO에서 Edge Detect Interrupt기능을 지원한다는 사실과, PCMCIA와 같은 각종 주변장치를 지원한다는 것 등.
StrongARM은 Embedded CPU 보다는 PC용 CPU에 근접 하다는 느낌이 들었고. 그럼에도 불구하고 낮은 전력소모 때문인지 Embedded용으로 많이 사용되고 있는 것 같습니다.
ARM7강좌를 하면서 개발환경에 대해서 궁금해하시는 분들이 계셨습니다.
“ARM7을 공부해 보고 싶은데 보드가 없다“... 라든가 하는 식의.
그렇게 보면 제가 운이 좋았던 것 같습니다. 회사에 정말 훌륭한 보드가 있었거든요.
물론 제품을 위해 사용되는 보드였기는 하지만... LCD와 Keyboard, 카메라
까지 달린 보드였고, 충분한 메모리와 Flash까지 있었으니까요...
사실 여전히 ARM을 공부하기 위한 보드를 찾기는 쉬운 일이 아닌 것 같더군요. 저도 언젠가는 StrongARM보드를 만들어 보리라 생각했었지만. 그게 그리 만만치 않은 일이었고. 앞으로도 가능할지는 모르겠습니다.
별로 할 말도 없으면서 강좌를 쓰려니 이상한 말만 나오는군요...
모두에게 감사한 마음과 죄송한 마음을 갖고 있습니다.
사실 시작할 때의 마음가짐을 끝가지 가지고 가지 못했던 것도.. 그렇고..
이렇게 강좌란에 허튼 소리를 쓰고 있는 것도 그렇고..
강좌를 해 오면서, 정말 많이 알고, 잘 하시는 분들이 참 많구나 하는 생각을 했습니다. 거기에 비하면 이제 막 공부를 하고 있는 제가 이런 강좌를 주제넘게 시작했구나 하는 후회도 들었고요. 부끄러운 생각도 많이 들었습니다.
그동안 관심을 가져주신 모든 분들께 다시 한번 감사 드리면서 ARM7 강좌를 이렇게 정리할까 합니다.