This is an old revision of the document!
에효 금요일 부터 회로도 그려서 월요일 8시 되어서야 완성.
ㅜㅠ 다리가 후달린다. 틀리지 않길! 지난번에 그렸던것 덕분에 시간 단축이 되긴했다.
질문 - Gerber 2.3버전으로 보냈는데, 괜찮을까?
DCDC 그라운드를 연결을 하나밖에 안했네;;;; 점퍼 날려야겠어.
9월 17일
C언어의 함수의 원형에 대해서 알아보았다. 명확하지 않아서 여러개 파일로 함수를 쪼개서 선언하고 불러올때 의심이 생기곤 했었다.
컴파일러마다/ 표준마다 조금씩 다르다.
gcc경우는 함수의 원형을 안써도 warning을 내면서 컴파일이 된다. 그런데 재밌는건 원형을 안쓰면 기본 타입(int)으로 컴파일러가 원형을 만든다. 그래서 int 리턴 함수가 아닌 원형 선언 없이 void 타입의 함수는
main.c:14:6: warning: conflicting types for ‘add’ [enabled by default]
이런 에러가 난다.
그리고 함수의 원형은 여러줄을 같은줄 써도 에러가 안난다. 중복되어도 괜찮다. 아마도 여러개 파일에서 각자 원형을 써도 문제 없이 되게 하기 위해서 인 듯 하다.
IAR경우는 Required Prototype이라는 컴파일 옵션이 있구만. 그래서 미로사믹의 프로그래밍 강의(9화)에서 프로토타입을 안쓰면 에러가 나는구나. 컴파일러 최적화 옵션은 low로 맞추었군.
하드웨어 개발자를 위한 소프트웨어 워크숍에서 arm 어셈블리 코드를 머리로 실행하는데 R4레지스터를 함수에서 사용할때 스택에 넣고 복원하는데 왜 하는지 궁금했었는데-_-; AAPCS라는 함수호출에 대한 스팩이 있다 별걸 다 스팩으로 만들어 놨네
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042e/IHI0042E_aapcs.pdf
A subroutine must preserve the contents of the registers r4-r8, r10, r11 and SP (and r9 in PCS variants that designate r9 as v6).
9월 18일
<markdown> 노트나 필기할때 Emacs의 org-mode를 사용하다가 싱크하기 불편하고 Emacs자체 키는게 불편해서 A4에 필기하고 있는데, 가볍고 싱크하기 편리한 툴을 찾았다. Emacs에서도 싱크를 지원하는 툴이고..
simplenote.com, 싱크하기 쉽고, 여러가지 클라이언트 지원하고, 저장을 txt로 로컬에 한다.
원도우에서는 nvPy라는 클라이언트를 사용하면 되고, 맥에서는 nvAlt 클라이언트를 사용하고, Emacs지원하니 Emacs작업한 내용을 정리하기가 쉽다.
그리고 org-mode는 문서 단위로 사용하기는 좋은데, 노트한 문서가 커지니깐 검색하기가 불편하다. nvAlt는 검색이 간단해서 좋다. 기본 포멧이 markdown인것도 좋고!
 </markdown>
9월 19일
마이크로컨트롤러에서 큰 dc신호 제어할때 irf540을 썼었는데, V threshold가 2~4v이길래. logic 레벨이라고 생각 했다. 그런데 irf540의 Rds(on) 스펙을 보면 Vgs가 10v 이다. 열이라든지, 암페어 레이팅은 Rds(on)가 관련이 있는데, Vgs가 10v일떄 Rds(on)이 0.077 ohm 이라는것은 보통 내가 제어하는 5v에서는 아마도 … Rds(on)이 휠씬 크다는 이야기다.Full로 게이트를 키지 않았기 때문에. 그래서 인공위성 LED회로에서 LED 제어하는 모스펫 킬려고 voltage doubler를 썼다.
결론은 5V로 IRF540을 킬 수 는 있지만, Full로 킬 수 는 없다는 이야기 이다.
그래서 5V에서 Full로 키고 싶을 때는 logic level fet (RFP30N06LE) 를 사용하는게 좋다.
참고: - http://www.vishay.com/docs/91021/91021.pdf - http://bildr.org/2012/03/rfp30n06le-arduino/ - http://propaneandelectrons.com/projects/wifire16 - https://www.sparkfun.com/datasheets/Components/General/RFP30N06LE.pdf