임베디드 레시피

Egloos | Log-in





Community Primitive

어서오세요! 
친절한 임베디드 시스템 엔지니어 되기 강좌에 오신 것을 환영합니다!
계속되는 게시판 공격으로, 
우리들의 이야기 나눔을 소셜 코멘트로 나눠보려고 이렇게 따로 게시물을 만들었습니다.
지금 바로 당신의 이야기를 들려주세요.
First articlePowered by Disqus

by 히언 | 2018/12/31 23:56 | Notice | 트랙백 | 덧글(535)

트랙백 주소 : http://recipes.egloos.com/tb/5624603
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 히언 at 2016/11/01 12:28
네! 즐거운 화요일이에요!! 자주 들려주셔서 좋아요 ㅠㅠㅠ
Commented by ruring at 2016/11/02 17:38
음.. 오늘은 수요일이구요 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
Commented at 2016/11/02 21:40
비공개 덧글입니다.
Commented by 히언 at 2016/11/03 14:14
안녕하세요!
제가 뭔가 정리해 볼까 했는데
http://spikez.tistory.com/19
여기 보시면 extern C에 대한 naming을 잘 설명해 놓으신 분이 이미... (흡) 있으셔서
링크로 답변을 대신합니다!
많이 도움 되셨으면 좋겠어요!
Commented by ruring at 2016/11/08 14:48
또 일주일이 흘러 화요일입니다 '_____________'
Commented by 히언 at 2016/11/08 16:02
월요일이 지나버려 다행이에요 라고 중얼거리고 나니 너무 긍정적인 것 아닌가라고 자책했어요.
Commented by ruring at 2016/11/08 16:20
하..하..하... 자책할필요까지 있나요 ㅎ
Commented by ruring at 2016/11/11 10:13
불태우는 금요일 시작 ㅎ

불금과 주말 즐겁게!
Commented by 히언 at 2016/11/11 11:57
ㅎㅎㅎㅎㅎ 넵! 감사합니다!
Commented by ruring at 2016/11/18 13:26
또 금요일입니다. 중간중간 오긴하는데..
제 전용 게시판?!이 될꺼같아서 ㅋㅋㅋㅋ 오늘 남기고갑니다.

즐거운 주말되세요~~
Commented by 히언 at 2016/11/18 14:16
헤헤 불금되세요!! 저는 KAIST에 출장중이에요 ㅠㅠㅠㅠ
Commented by ruring at 2016/11/22 18:05
전 이사한다고 죽겠어요..

이제 출근 1시간 반걸려요 ㅜ_ㅜ 흙
Commented by 히언 at 2016/11/22 20:01
미녀 루링님!!! 모두에게 얼굴 보여준다고 생각하면 되죠 헤헿
Commented at 2016/12/06 11:18
비공개 덧글입니다.
Commented by ruring at 2016/12/16 09:10
2016년 2주남았어요 ㅋ_ㅋ 마무리 잘하세용!!!!!!!
Commented by 히언 at 2016/12/16 12:04
새해 복 많이받으세요!!!!
Commented by Mr Yu at 2016/12/22 08:41
많은 도움을 얻고 갑니다.
앞으로도 자주 이용을 하게 될것 같습니다.
가진 지식을 나눠주셔서 정말 감사합니다.
Commented by 히언 at 2016/12/22 09:28
자주 놀러오세요!
Commented at 2016/12/28 23:15
비공개 덧글입니다.
Commented at 2016/12/28 23:57
비공개 덧글입니다.
Commented at 2016/12/29 10:40
비공개 답글입니다.
Commented at 2016/12/29 14:56
비공개 덧글입니다.
Commented at 2016/12/29 17:40
비공개 답글입니다.
Commented at 2017/01/01 15:26
비공개 덧글입니다.
Commented at 2017/01/01 16:00
비공개 답글입니다.
Commented by 별일없는 하프물범 at 2017/01/17 03:39
정렬에 대한 개념을 못잡겠습니다.
특히 AAPCS를 위한 8바이트 정렬을요..

처음에 정렬에 대해 공부할 때는 유효한 데이터를 지정한 정렬 크기에 맞게 배열하는 건 줄 알았습니다.
예를 들어 4바이트 정렬인데 3바이트, 2바이트의 데이터를 0x0000 주소부터 저장할 때, 3바이트 데이터는 0x0000부터 0x0002까지, 2바이트 데이터는 0x0003은 비워두고, 0x0004부터 0x0005까지..

그런데 ARM 어셈블리 코드에서 AAPCS를 위해 스택을 8바이트로 정렬하도록 지시하는데 디버깅을해보면 스택에 있는 데이터들이 8바이트로 정렬되지 않습니다. SP의 마지막 자리가 4가 되기도 하더라구요. 8바이트 정렬이면 SP의 마지막 자리가 0또는 8이되어야 하는것 아닌가요..?

제가 정렬에 대해 잘못 알고 있는건가요?
Commented by 히언 at 2017/01/19 00:48
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4127.html
여기 보면 8byte면 말씀하신대로 되어야 하지만
컴파일 옵션에 따라 조금 다른 것 같아요!
Commented by 권쥐 at 2017/01/17 03:58
앤트리 포인트에 대한 질문입니다,,
앤트리 포인트는 AREA에서 제일 먼저 수행되어야할 위치를 가리킨다고 해서 매우 중요하고 필수적으로 지지해야하는 건줄 알았는데요. 코드를 작성해서 실제로 실험해보니 아무데나 작성해도 되고 경고가 뜰 때도 있고 안뜰 때도 있었습니다. 뜨더라도 이상 동작은 없었습니다.

그래서 구글링을 해봤는데 Cortex-M은 하드웨어적으로 앤트리 포인트를 0x00000004(Reset Handler)로 잡으니 신경쓸 필요가 없다.. 이런 내용을 본거 같네요. 만약 이게 정말이라면 앤트리 포인트는 왜 존재하는 건가요..? 다른 CPU에서는 필요한건가요..?
Commented by 히언 at 2017/01/19 00:35
책에서 보시면
Reset Handler에서 main까지 (Entry Point) 을 보시면 좀 감을 잡으실 것 같은데요... 헷
Commented by at 2017/01/17 11:02
안녕하세요 강의자료 잘 보고 있습니다. :) 보다가 궁금한 점이 생겨 질문 드립니다.

arm cortex-m4 보드를 이용하고 있고 baremetal 입니다. application / bootloader로 나뉘어 있는 구조에서 bootloader에서 application firmware를 검증하여 valid한 경우에만 booting 하는 기능을 구현하려 합니다.

다음 사항이 궁금합니다.
1. application firmware를 생성하여 flashing 하게 되면 보드가 working하는 중 flashing된 firmware 수정 가능성이 있는지? (악의적 공격 제외, RW 영역의 값 변경이라던지)
2. 1번 질문의 이유는 bootloader에서 app을 검증할 때, application FW에서 runtime에서 변경되지 않는 부분에 대해 signature를 생성하려 합니다. 언듯 생각 했을 땐 다음 두가지 방법이 있을 것 같은데 목적(변경되지 않는 부분)에 부합한게 어떤 것인지요?
- 그냥 생성된 firmware 전체에 대한 signature를 생성한다
- code section만 추출해서 signature 생성한다.
Commented by 히언 at 2017/01/19 00:32
안녕하세요!

악의적 공격제외라면 flashing된 firmware수정 가능성은 없다고 봐야 하지 않을까요? RO, RW 두개는 불변하니까, RO, RW를 대상으로 signature를 생성하면 될 것 같으데요. 바로 RO, RW자체가 firmware 전체니까 전체로 구워도 상관 없을 것 같다라는 개인적 의견이에요. 헤헤.
Commented by ruring at 2017/01/19 10:03
17일에 무슨일있었나요.. 질문이 전부 17일이네..

출근하는데 황사가.. 아니 미세먼지가.. 아니지 스모그가.. =-=..
뭐.. 그게뭐든 ..한치앞이안보이네요.

그냥 들려봤어요.ㅎ 늘건강하세요~
Commented by 히언 at 2017/01/20 00:47
아이고! 건강에 신경쓰세요!
Commented at 2017/01/26 17:53
비공개 덧글입니다.
Commented at 2017/01/26 19:08
비공개 답글입니다.
Commented at 2017/01/26 19:48
비공개 덧글입니다.
Commented by ruring at 2017/02/13 11:11
다시 덧글되네요 ㅋ_ㅋ
Commented by 히언 at 2017/02/13 14:24
헤헷!!! 루링씨 고맙습니다!!
Commented at 2017/02/19 23:46
비공개 덧글입니다.
Commented at 2017/02/20 00:20
비공개 답글입니다.
Commented by 검은하늘 at 2017/02/25 20:55
Embedded 공부하려고 인터넷을 뒤지다가 여기까지 왔습니다.

Embedded Recipes과 Embedded Sketches에 크게 차이가 있는지요?

좀 더 쉽게 설명하면... 둘 다 구매해야 할까요?
Commented by 히언 at 2017/02/26 00:19
어서오세요! 히언입니다!

Embedded Recipes는 시즌1 의 히언 강좌이고
Embedded Sketches는 시즌 3의 소토 강좌에요!

일단 강좌를 보시면서 결정하셔도 늦지 않아요!

즐거운 주말 보내세요!
Commented at 2017/02/26 13:47
비공개 덧글입니다.
Commented at 2017/02/26 22:53
비공개 답글입니다.
Commented by 방랑자 at 2017/04/04 11:14
안녕하세요. 임베디드 스케치 책을 구매해서 보고있는 사람인데요.
이해가 되지 않는 부분이 있어서 이렇게 글을 남깁니다.
http://recipes.egloos.com/5280965
해당 링크에 낸드플래시에 대해서 설명이 되어있는데요.

낸드 플래시 erase를 할때 설명이

ALE에 페이지 정보는 어떻게 줘야 할까요? 낸드 플래시 데이타 시트를 보니 다음과 같은 그림이 있어서 살펴보니 낸드 플래시에 페이지 정보를 주기 위해서는 3번 명령.(1st Cycle ~ 3rd Cycle)이 필요하네요
페이지정보는 2nd, 3th Cycle에서 정해 진다고 하니 최종 지우기 동작은 명령어 2번, 페이지 정보 2번 해서 4번 동작을 하면 됩니다.

여기서 페이지 정보를 주기위해서는 3번의 명령이 필요한데 다음 라인에 페이지 정보 2번이라고 하는게 이해가 안가고요.

쓰기 동작에서는 아래와 같이 코드가 나오는데요
Data.Set &NFCMD %w 0x80 // 1st Bus Cycle
Data.Set &NFADDR %w &col // 1st Bus Cycle
Data.Set &NFADDR %w ((&row)&0xFF) // 2st Bus Cycle
Data.Set &NFADDR %w ((&row)>>8)&0xFF) // 3st Bus Cycle

data.copy 0x0++512 &NFDATA
Data.Set &NFCMD %w 0xD0 // 2st Bus Cycle

쓰기 동작 헥사값은 0x80 , 0x10 이라고 알고있는데 위에는 Data.Set &NFCMD %w 0x80 까지는 맞는데
Data.Set &NFCMD %w 0xD0 이라고 표기되어 있네요 .0x10이 맞는거 아닌가요 ?

그리고 쓰기동작에서 지우기와 마찬가지로 명령어 2번에 페이지 정보 3번이 필요해요. 라고 나오는데
지우기는 아까 3번이라고 말했지만 2번필요하다고해서 해당 문구가 헷갈리네요.

답변부탁드립니다.


Commented by 히언 at 2017/04/05 00:47
아이고.. 쏘토님... 답변 좀...
Commented by 방랑자 at 2017/04/11 16:23
안녕하세요. 또 질문남깁니다 ㅎ

http://recipes.egloos.com/5336381

해당 링크 마지막에 auto 변수 기억 클래스가 설명에는 Stack에 저장된다고 했는데 마지막 표에는 Stack과 data영역으로 써있네요..
제가 따로 검색해봐도 auto는 stack에만 저장하는걸로 나오는데요.

어느게 맞는건가요 ?
Commented by 히언 at 2017/04/11 18:37
아이고.. 쏘토님... 답변 좀...
Commented by 히언 at 2017/04/12 01:13
아 제가 보니까 이거는 쏘토님 대신에 제가...
auto가 data 영역에 저장되는 경우는요
init 값이 있을 때에요. 단, 막상 사용될 떄는 stack에 저장돼요.
Commented by 방랑자 at 2017/04/12 10:07
아 그말은
int i =3; 이런식으로 선언된 변수일 경우 data 영역에 저장된다는 말인가요?

근데 예제에 보면 stack에 저장된다고 설명이 되어있어서.. 헷갈려서요.

자세히 설명좀 부탁드립니다 ㅠㅠ
Commented by 히언 at 2017/04/12 10:46
말 그대로 사용되기 전 초기값은 data영역에 저장되고,
그 변수가 사용될 때는 stack에 넣는다에요!
Commented by 방랑자 at 2017/04/12 17:15
아 예를들어 초기값을 3이라고 한다면 이 3이 data영역에 저장되었다가 이 3이라는 값이 사용될때는 stack에 들어간다는거군요
감사합니다.ㅎㅎ
Commented by 네루미 at 2017/04/26 10:42
도움없이 처음시작하는 임베디드 개발자들에게 가장 힘든것은 아무래도 개발환경구성이 아닐까싶습니다.
거기서도 리눅스개발환경을 만드는것은 정말 쉽지가않네요..
일단 인터넷에 자료가별로없어서 문제입니다. 따라한다고해도 잘안되고요
개발환경부터 FPGA사용과 암바구성 ADS를사용하여 다른 avr이나 아두이노킷트들을 연동하여 동작시켜보는 그런걸 다루어보았으면합니다
후배의 앞길에 발자국하나 남겨주시기를 부탁드립니다
Commented by 네루미 at 2017/04/26 10:43
안된다면 책이라도 추천좀 부탁드립니다 ㅠ
Commented by 히언 at 2017/04/26 13:59
글쎄요.. ㅎㅎ 그렇게 방대한 것을 다루는 것이 있을까요.
일단 크로스컴파일러로 암보드에 올려보는 것 부터 해 보시고,
FPGA는 또 다른 영역이니까, 그쪽거 따로보셔야 할 것 같아요.
연동이라는 것은 암보드와 서로 통신하게 한다는 말씀인가요?
그것도 인터페이스가 몇개 있는데 그거 따로 보셔야 할 것 같아요.

영역별로 다 달라서 전체를 다루는 책은 못봤어요. ㅠㅠ
Commented at 2017/04/27 12:30
비공개 덧글입니다.
Commented by 히언 at 2017/04/28 11:45
개인적인 생각으로는
라스베리파이나, 좋은 암보드 하나 선정 하셔서,
거기에 리눅스 올리시고, uart driver 공부하셔서 컨트롤 하셔서 avr이나 아두이노 카메라 연동부터 해 보시면 어떨까요.
거기에 FPGA 모듈이 왜 필요한지는 모르겠는데, 일단
어디든 리눅스를 먼저 올려보시고, 다음 단계로 넘어가는 것이 좋을 것 같습니다. ㅠㅠ

라스베리파이의 경우에는 OS 포팅 자료가 인터넷에 많이 있으니까 도움이 되지 않을까 생각합니다.
https://www.google.co.kr/search?newwindow=1&site=&source=hp&q=%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%ED%8C%8C%EC%9D%B4+%EB%A6%AC%EB%88%85%EC%8A%A4+%ED%8F%AC%ED%8C%85&oq=%EB%9D%BC%EC%8A%A4%EB%B2%A0%EB%A6%AC%ED%8C%8C%EC%9D%B4+%EB%A6%AC%EB%88%85%EC%8A%A4&gs_l=hp.3.2.0i13k1l7j0i13i30k1l3.756.4459.0.6605.20.16.0.0.0.0.451.2498.0j3j5j1j1.10.0....0...1c.1j4.64.hp..14.5.1390.0..0j0i10k1j0i10i30k1.igbwmkBkfIE
Commented by 진로설계상담 at 2017/05/18 01:43
안녕하세요. 임베디드 분야에 대해 관심이 있는 군입대를 앞둔 중상위공대 전자공학 3학년 학부생입니다. 기본 회로설계부터 hw 동작하는게 신기하고 납땜 및 여러 모듈을 연결해서 제어하는게 정말 재미있게 느껴지는 한편, c언어나 JAVA같은 완전 high level language도 재미가 있고, 앱개발하는데 흥미가 특히 무지많습니다. 그런데, 철없는 질문이지만은,, 제가 주변에 임베디드 쪽으로 가고싶다고 하면 주위 학부생들은 한숨부터 쉬고, 인터넷에서 경력자분들이 써놓은 글들을 읽어보면 일이 너무 고되고, 야근에 박봉에 시달리는 분들이 많이 계시는것 같더군요.. 물론 흥미를 느끼는 분야고, 공부를 하기위해서는 회사에서 야근에 시달리더라도 전문가가 되기 위해서 많은 시간을 들여야 하는 것은 맞습니다만.. 제가 철이 없어서 인지는 몰라도 저는 저녁이 있는 삶, 가족과 함께 하는 삶, 그리고 직장/직장 상사가 아닌 나 자신이 주도권을 갖고 삶을 살고 싶은데, 이런 경우에는 임베디드 산업으로 가면 고통스러울까요..? 그리고 임베디드 산업쪽으로 해서 해외에 취업하는 루트가 존재하는지 궁금합니다. SW산업은 해외취업(영어는 native수준입니다)이 다른 학문보다 쉽다고 들어서 대학원을 컴공쪽으로 갈까도 생각하고 있습니다..
Commented by 히언 at 2017/05/18 14:08
안녕하세요, 히언입니다.

진로를 걱정하시는 시기에 적당한 고민을 하고 계신 것 같습니다.
제 사견으로는 저녁이 있는 삶, 가족과 함께 사는 삶, 나 자신의 주도권이 있는 삶의 전제 조건은
어느 직업을 갖더라도 자기 실력이라고 생각합니다.

어느 직업, 어느 회사에서건 자기 실력이 갖추어 지지 않은 상태에서 자기 주도권을 갖기는 매우 어렵다고 생각합니다.
그러니, 좋아하시는 것을 발견하시고, 좋아하는 것을 잘 하시고,
자기 실력을 갖추면 고통스럽지 않은 삶이 기다리고 있을 것이라고 생각하고 있습니다.

또한 해외 취업도 마찬가지라고 생각하고 있습니다.

제가 임베디드를 했다고 해서, 임베디드 업계를 추천한다거나, 비추천하기 보다는
진로설계상담님의 진로에 더 명확한 방향성이 있으면 좋겠다고 생각했습니다.
과한 조언이라면, 흘려들으시고, 도움이 되는 조언이라면 도움이 되었으면 좋겠습니다.

그럼 모든 일에 건승하시길 바라겠습니다.

히언입니다.
Commented by 진로설계상담 at 2017/05/18 15:13
조언 감사합니다. 매번 좋은 포스팅도 감사합니다.
Commented by 문의 at 2017/06/05 19:13
홈페이지에 보이는 그림들이 모두 깨져서 나오는데, 혹시 저만 이상한 건가요?
아님 server에 그림이 다 깨진건가요?? ^^;
Commented by 히언 at 2017/06/06 02:56
저.. 확인해 봤는데.. 저는 안깨지는거 보니까.. 뭔가 문의님 PC에 문제가 있는 것은 아닐까요? ㅠㅠ
Commented at 2017/06/07 18:59
비공개 덧글입니다.
Commented by 히언 at 2017/06/07 21:39
죄송합니다만, shift를 눌러서 skip하는 방법외에 생각나는 것이 없습니다.

더 좋은 방법을 찾게되면 알려드리겠습니다.

즐거운 저녁시간되세요!
Commented at 2017/06/07 19:37
비공개 덧글입니다.
Commented at 2017/06/07 21:38
비공개 답글입니다.
Commented by 개성있는 북극여우 at 2017/06/18 19:54
안녕하세요 히언님! 좋은 일요일 저녁입니다.. 역시 언제나 책 잘 보고 있습니다!ㅎㅎ

현재 회사 일 관련해서, 공부를 하고 있는데 RTOS를 올려보고 있습니다.

처음 해보는 거라 그런지 많이 헤매고 있는데요, 일단 간단하게 STM32칩에 RTOS를 포팅한 후 Task 생성해서

LED만 깜빡거리게 해보고 싶은데, 그냥 GPIO를 컨트롤은 하겠는데, RTOS올려서 Task 생성해서 돌려보면 반응 자체가 없는데 이걸 어떻게 디버깅을 해야할지..왜 Task자체가 돌질 않는건지. task가 만들어지기는 한건지, 어느부분에서 문제가 있어서 보드상에서 LED에 반응이 없는건지. 디버깅을 어디서부터 손대야하는지 막막하기만 합니다.

또한, RTOS를 어디서부터 어떻게 공부해야 하는지 막막하네요. 이론을 어느정도 알아야하는거고 어떤 방법으로 실습을 해야하는지.. 조언의 말씀 부탁드립니다. ㅠㅠ

두서없이 쓴글 읽어주셔서 감사합니다.

Bey 올림
Commented by 히언 at 2017/07/12 19:12
RTOS를 올리셨다면, 분명히 최초 task를 살리는 main task가 있을 것입니다. 그곳에서 문제가 있는 것은 아닌지 부터 꼼꼼히 살펴보시는 것이 어떨지! 라는 도움 안되는 조언 드립니다. ㅠㅠ
Commented at 2017/06/27 13:45
비공개 덧글입니다.
Commented at 2017/07/12 19:11
비공개 답글입니다.
Commented by 용감무쌍한 맘모스 at 2017/07/11 21:31
안녕하세요!
전 3년전부터 임베디드 개발자를 꿈꿔온 서울의 한 고3입니다
그동안은 프로그래밍 공부를 거의 하지 못했는데 이제 시험도 끝나서 임베디드 관련 책을 읽고 싶었습니다ㅋㅋ
우선 제 수준은.. 음.. 완전 생초보(ㅜㅜ)입니다
아는건 헬로월드랑 임베디드 기본개념(컴퓨터가 아닌 기기제어 프로그램? 최적화가 중요하다)정도밖에 없고요ㅜㅜ
그래서 고민중인데.. 임베디드 레시피랑 스케치 뭘 사야 하나요?
스케치가 좋을거 같긴 한데 제가 이해할 수 있을까요..?
전 컴맹은 아니고 그렇다고 고수도 아닌 그냥 주위에 많은 컴퓨터 잘 고쳐주는 친구(..)같은 존재라서ㅋㅋㅋㅋ
Commented by 히언 at 2017/07/12 19:11
안녕하세요, 맘모스님.

임베디드라는 것이 일반컴퓨팅시스템과 별반 다를 것이 없습니다.
다만, 하드웨어의 제약사항이 많은 컴퓨팅시스템이라고 보시고 공부를 하시면 될 것 같습니다.

제가 추천한다면 물론 임베디드레시피를 추천하지만 ㅎㅎ
사람마다 각자의 취향이 있는 이유로 더 끌리시는 것을 보시면 될 것 같습니다.

다만, 모든 공부가 그렇듯이 잘 모르겠어도 반복 또 반복을 하다보면
내것이 되는 순간이 올테니까, 그전까지 힘들더라도 앞으로 전진 할 수 있으셨으면 좋겠습니다.

감사합니다.
Commented by 용감무쌍한 맘모스 at 2017/07/13 00:25
감사합니다! 그런데 코너북 사이트에 보면 임베디드 레시피 스케치 둘다 히언님이 올리신 글로 만들어진 책인데 스케치는 입문서 레시피는 기술서적이라고 써있어서..
뭘 먼저 사야할지 고민이에요ㅜㅜ
Commented by 히언 at 2017/07/13 12:08
^^
두개가 좀 달라요.
임베디드레시피는 제가 한거고, 임베디드스케치는 소토님이라고, 다른 분이 진행하신 거에요 ^^
Commented by Yop at 2017/09/22 11:14
안녕하세요. 책을 보다가 궁금한 점이 있어서요.
P.86에 (개정6판) <RAM Memory의 물리적 동작>에서 문제라고 나오는 부분이요.
"RAM 사이즈를 정리하면, 16bit Data로 2^24개 만큼의 크기를 갖는다"라고 나와있는데
이게 바로 위의 RAM 그림과는 관련 없는 문제인거죠?
RAM 그림에는 RD, WR, Address 8pin, Data 8pin -> 총 18pin 이니까요.
그럼 이러한 총 18개의 핀을 가지고 있는 RAM의 메모리 사이즈는 2^18 인가요?
Commented by 히언 at 2017/11/10 13:34
안녕하세요! 제가 답이 많이 늦었네요! ㅠㅠ

Address pin만 가지고 얘기하면 돼요!
그러니까, Address 8pin이면 2^8 이에요! 데헷
Commented by ja at 2017/11/06 13:05
안녕하세요! 강좌 잘 보고 있습니다ㅎㅎ
저는 트랜지스터 스위칭 기능을 사용하는데 5v를 12v로 사용하려고 합니다.
그런데 히언님 강좌에는 트랜지스터를 on시키려면 5v정도의(원래 전압과 같은 크기의) 전류를 base에 흘려주어야 트랜지스터가 on 된다고 써 있더군요ㅎ
제가 사용하는 기기는 3.3v를 출력하고, 그걸 이용해 12v 전원으로 스위칭하려 하는데 어떻게 해야 하는지 알려주실수 있나요 :)
감사합니다!!
Commented by 축구사랑 at 2017/12/03 02:04
책을 산지 꽤 되었는데 이제야 정독을 하고 있네요^^
볼수록 깊이가 느껴지는 책입니다.
Assembly로 만드는 방법 이란 챕터를 보고있는데요, tcc에 -S 옵션이 없어졌나봅니다.
책에 소개된 spaghetti.s 와 유사한 내용을 보고싶으면 어떻게 해야 할까요?
그리고, 예제는 리눅스/윈도우 어디서 컴파일해도 상관 없을까요?
읽어주셔서 감사합니다.
Commented by 히언 at 2017/12/03 11:43
넹~ 어디서든 컴파일 하시면 비슷하게 나와요!
Principle은 똑같으니까, 한번 익숙해 지시면 금방 이해하실 수 있을 거에요.

그리고 RVDS 사용하시는것 아닌가 싶은데, 어쨌든 -S 옵션은 아직 사용 가능해요.
컴파일러 option에 대해서는 아래 링크에서 보시면 정말 다양하게 지원해요!

좋은 하루 되세요!

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348bk/CIHGEBDH.html
Commented by 무뿔 at 2017/12/03 06:06
이 사이트 지금도 운영되나요? 강좌123에 링크가없는 것들은 어떻게 된건가요?
Commented by 히언 at 2017/12/03 11:33
강좌 123이 어디에 있나요?
Commented by 안녕하세용 at 2017/12/05 21:42
안녕하세요 취준생입니다..
이 홈페이지는 제게 큰 도움이 되고 있습니다.. 몇번의 면접에서 좌절하고 난뒤 이쪽에서 많은걸 배우고 있네요.
nor 플래쉬에 관련해서 질문드려요
http://recipes.egloos.com/5276602
첫번쨰 질문은요..
0xAAA부터 시작한 이유.
CPU의 A1핀이 Flash 의 A0 핀에 연결되어 있어요. 그것이 이유입니다. Flash 입장에서 0x555입니다. 결론은 Address를 왼쪽으로 1bit shift 시켰습니다.
이것이 이해가 안가요..
A1핀이나 A0핀이나 다 같은 것이라고 생각을 하는데 LED 킬때랑 같이요.....
2.0x555인데 왜 0x554라고 쓰신 이유가 궁금합니다.

int main(void)
{

addr16a = (unsigned short *) (*parameter + 0xaaa);/* first and third address for command sequence */
addr16b = (unsigned short *) (*parameter + 0x554);/* second address for command sequence */

/* start command sequence for chip erase */
*addr16a = 0xaa;
*addr16b = 0x55;
*addr16a = 0x80;
*addr16a = 0xaa;
*addr16b = 0x55;
*addr16a = 0x10;

}
Commented by 히언 at 2017/12/06 10:19
이거는 소토님 강좌네요! 소토님! 대답해 주세요~!!
Commented by jj at 2018/01/12 18:45
여기에 궁굼한점 올리면 되나요..?ㅎ

책으로도 보고 있는데 완전 초보적인 질문이 있습니다...ㅎ
cache를 쓸 때, 자주 접근하는 데이터가 cache에 남는건가요..?
아니면 cache에 어떤 데이터를 올려 놓고 직접 컨트롤해서 사용할 수도 있는가요..?

혹시나 ti칩 쪽으로도 아신다면 혹시 arm과 ti칩과 비교해서 알려주실 수 있으신가요...?ㅠㅎ
Commented by 히언 at 2018/01/13 13:44
안녕하세요!

캐시를 쓸 때, 자주 접근하는 데이터가 캐시에 남는거에요 ㅎㅎ. 캐시에 특정 데이터를 올려놓을 수도 있긴 한데
안쓰면 지워져요!
Commented by jj at 2018/01/15 09:28
안녕하세요...ㅎ 궁굼한점이 또 있어서 질문 글 올려요...ㅎ
cache를 사용할때 mmu랑 무조건 같이 사용을 하게 되는건가요..?
그리고 뭐 예를들면 실제 물리주소 1번지~1000번지 까지 배열이 할당돼 있는데, 해당 배열만 cache에 올려서 사용을 하고 싶다고 한다면...
이렇게 사용은 못하는 건가요..?

그리고 좋은 자료와 책 감사합니다~ㅎ
Commented by 히언 at 2018/01/15 13:55
mmu와 cache는 별개에요! 원하는 주소의 값을 캐시에 올릴 수는 있지만... 이득이 뭔지 모르겠어요!
Commented by eucalyptus at 2018/01/23 17:58
모르는 내용이 많네요.. 이쪽에서 일한지도 10년이 살짝 넘었지만.. 아는게 별로..ㅋㅋ
좋은 사이트 군요. 내용이고. 감사합니다.
종종 들려 좋은 글들 정독해 보겠습니다.
저는 TCON 설계쪽 있습니다.
Commented by 히언 at 2018/01/23 20:42
환영합니다!
Commented by 초심자 at 2018/02/26 17:07
안녕하세요 히언님!

질문이 있습니다


reset handler를 호출하는것은 exception vector가 맞는건가요?
Commented by 히언 at 2018/02/27 18:17
넵 맞습니다!
Commented at 2018/06/26 17:40
비공개 덧글입니다.
Commented by 히언 at 2018/06/26 20:09
안녕하세요! 황영주님!

감사한 제안 잘 받았습니다!

조만간 연락드리도록 하겠습니다. 감사합니다 ^^
Commented by 황영주 at 2018/06/28 09:41
안녕하세요. 히언 님
회신 감사합니다.
연락주시기 기다리겠습니다!

즐거운 하루 보내세요.
감사합니다. ^^
Commented at 2018/08/02 17:12
비공개 덧글입니다.
Commented by 히언 at 2018/08/02 21:58
임베디드스케치는 소토라는 분이 진행하신 강좌입니다.
소토님에게 남겨주신 메세지를 전달해 보겠습니다만, 답변이 잘 올지는 모르겠습니다.

잘 아시겠지만, 배움에 늦은 나이는 없습니다. 모든 일에 건승하실 수 있도록 기원하겠습니다.
감사합니다.
Commented at 2018/09/11 17:48
비공개 덧글입니다.
Commented by 히언 at 2018/09/11 23:06
안녕하세요. 히언입니다.

임베디드 시스템에서도 하드웨어 지식이 그다지 해박하지 않아도 되는 경우가 많이 있기는 합니다만 그런 경우라면 굳이 임베디드 소프트웨어 엔지니어가 아니더라도 개발 참여가 가능한 부분이라고 생각합니다.

보통 임베디드시스템은 특정 목적을 가진 시스템인 경우가 많은데 이런 경우라면 대개 하드웨어 부분에서 constraints가 많은 경우가 많고 하드웨어의 이해가 필수인 경우가 많습니다... 라고 생각합니다. ^^
Commented at 2018/09/12 09:49
비공개 덧글입니다.
Commented by 히언 at 2018/09/13 00:40
아이고 예쁘게 봐 주셔서 감사합니다.

근사한 임베디드 시스템 엔지니어가 되시길 기대할게요!

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶