티스토리 뷰

안녕하세요.


오늘부터 CubeMX로 ARM 32bit프로세서를 진행해보려고 합니다.

평소에 스탠다드 라이브러리를 주로 사용했기 때문에, HAL 라이브러리도 제대로 사용해보고 싶었고,

가끔씩 강의도 해야하는 입장에서, 조금 더 쉽게 배울 수 있게 하는 방법이 없을까.. 고민하다가

일전에 잠시 봤었던 CubeMX를 떠올렸습니다.


일반적인 CORTEX 시리즈 서적을 보면,

Clock이나 NVIC부터 시작해서 진행을 하는데, 솔직히 MCU가 무엇인지도 모르는 사람들에게는 진입장벽을 더 높이는 요인밖에 되지 않는 것 같습니다. 물론 매우 중요한 내용들이지만, 처음부터 그런거 이해하려면 쉽지 않습니다.

저는 이 순서를 약간만 바꿀 건데, 그래도 여전히 기초 수준의 제한은 있습니다.


1. C언어에 어느정도 익숙하다 ( 메모리 구조 등에 대해 대충이라도 이해하고 있다 )

2. MCU와 관련된 (심지어 아두이노라도) 경험이 있다 or PC S/W 개발자이다


PC 소프트웨어 개발자라는 건, MCU를 활용한 펌웨어 개발은 한번도 안해본 사람들을 뜻합니다.

접근 방법 자체가 상당히 다르기때문에, 몇 년 개발을 하신 분들이라도 LED 한번 키는데까지도 굉장히 힘들어 합니다.

그만큼 Application 개발에서 신경쓰지 않았던 Low Level에 대해 신경써야 되고, 아키텍쳐마다 고유한 특징/구조를 이해해야 하니까요.


저도 처음에 임베디드를 배울 때는 그냥 끌려다니기만 했던 것 같습니다.

데이터시트에서 뭘 확인해야 되는지도 몰랐었구요.


하지만, 일단 해보고

특히 미니 프로젝트를 진행해보면서 구조를 점차 이해해 나갔던 것 같습니다.

어느 정도 지식이 쌓이다보면, 그에 필요한 자료를 찾아 볼 수 있는 능력도 생겨나가구요.

일단 최대한 제 첫 배움의 시절을 생각하며 작성해보겠지만, 제가 노력했던 사이드효과를 온전히 기억할 수는 없기 때문에 어떠한 포스팅이 될지는 모르겠습니다.



참고로 제가 임베디드를 처음 배울 때의 상태는


1. 프로그래밍 언어 전혀 모름

2. 3D 프린터로 아두이노 스케치만 구경해본 적 있음

3. 인문계 고등학교 문과 출신 + 경제학 학사

4. 나름 특이한 점이라면... 중학교때까지는 전자회로/과학상자 등으로 대회를 나갔었다는거...?


였습니다. 


당장 기술이 배우고 싶어서 "직업학교"부터 다녔었는데,

그 당시 커리큘럼이 모든것을 병행해서 진행되는 방식이었습니다.

어떤 분들이 말하는 것처럼 "32Bit MCU를 배우기 위해서는 8Bit MCU부터 배워야한다"는 전혀 성립되지 못했죠.

AVR(8bit) , Cortex(32bit)를 병행해서 진행했으니까요... 

아, 물론 이와 병행해서 컴퓨터 구조에 대한 기초 이론도 병행했었습니다 (비트연산 등등)


제가 말씀드린 사이드이펙트라는게... AVR, 컴퓨터구조, 회로이론, C언어, 회로설계 등등 Cortex를 배우면서 동시에 배웠던 저 내용들이 알게 모르게 Cortex에 대한 이해에 도움을 주었다는 것입니다.


즉, 입문자로써 배우고 싶으신 분들은 별도로 다른 공부까지 부단히 노력을 하셔야겠죠?



어찌되었든,

개인적으로는 CORTEX에 입문하려고 하는 분들에게 도움이 될 수 있는 시리즈가 되었으면 좋겠습니다 :)



댓글
댓글쓰기 폼