toanyone.net

설레발

libabov

ABOV 마이크로컨트롤러 개발도구

libabov 란 어보브 마이크로컨트롤러 개발을 위한 개발 환경을 제공한다. 저수준 하드웨어 드라이버와 라이브러리, 그리고 주변장치 예제를 포함한다. 어보브뿐만 아니라 다른 벤더사의 칩도 지원할 수 있는 확장성 있는 구조를 갖고 있다. 프로젝트 저장소: github.com/onkwon/libabov 개발 문서: libabov.readthe...

원형버퍼

영어로는 ring buffer 또는 circular buffer 두 개의 인덱스 slot 하나를 낭비하게 되지만, 구현이 간단해서 애용하는 방식 1 2 3 4 5 6 mod(n) { return n % capacity; } init() { index = outdex = 0; } write(val) { buffer[index] = val, index...

직렬 통신 방식

UART, I2C, SPI

마이크로컨트롤러에서 사용하는 직렬serial 통신은 크게 다음과 같이 분류할 수 있다:   동기(synchronous) 비동기(asynchronous) 전이중(full-duplex) SPI UART 반이중(half-duple...

Static keys

커널 documentation 의 static-keys 일부분을 한글로 옮겼고, 코드 분석한 내용을 추가함. Abstract Static key 는 GCC 기능과 코드 패칭 기술을 통해 성능이 중요한 fast-path 커널 코드 사이에 자주 사용되지 않는 기능을 삽입 가능하게 한다. 다음 예제를 참고하라: 1 2 3 4 5 6 7 8 9 10 1...

Stack alignment

ARM 아키텍처 ABI(AAPCS) 은 스택을 8 바이트 단위로 정렬할 것을 권고한다. ABI 는 외부 인터페이스를 위한 프로토콜이므로 다른 함수를 호출하지 않는 말단 함수(leaf function)의 경우 해당 규약으로부터 자유롭다고 생각할 수도 있겠으나, 말단 함수에서 정렬이 깨진 상태로 인터럽트나 예외가 발생할 경우 문제가 생길 수 있음을 주지해...

Bare metal Raspberry Pi

Boot Sequence 전원인가시 ARM core는 off된 상태로 GPU에서 부팅이 시작된다. 첫번째 부트로더는 RPi 생산시 SoC ROM에 프로그램된 것으로 사용자가 프로그램할 수 없다. 첫번째 부트로더는 SD카드의 FAT32 부트 파티션을 마운트해 다음 단계의 부트로더를(bootcode.bin) 읽는 역할을 한다. 다음 단계의(두...

ARM immediate value encodeing

ARM은 다른 RISC 프로세서들과 마찬가지로 고정된 32비트 명령어 크기를 갖는다. 이는 명령어 디코딩과 파이프라인 적용을 용이하게 하는 한편, 명령어와 함께 인코딩되는 상수immediate value값의 표현 범위를 제한한다. 데이터 연산 명령어의 25번째 비트는 operand2가 상수인지 레지스터인지 결정하는 플래그이다. operand2는 하위...

직업

다큐에서 소개하는 직업에 대한 또는 삶에 대한 태도에 놀랐다. ‘10년을… 멍청한 일이다. 낭비다’라는 생각이 들면서도 그건 소명의식이 부재한 현대인(나)의 문제인지도 모르겠다. 소신을 갖기 힘든 사회경제적 풍토 속에 인생 전체를 하나의 커리어로 관철한 개인의 신념내지 집념이 인상적이다. 물 새는 곳을 찾기 위해 논두렁에 서서 귀 기울이는 장...

ARM GCC Inline Assembly

다음 링크의 내용을 요약한 것입니다: http://www.ethernut.de/en/documents/arm-inline-asm.html 1 asm(code : output operand list : input operand list : clobber list); 기본 어셈블러 명령어 문자열(코드 파트)은 순수 어셈블리 프로그램과 매우 흡사합니다...

그래비티

gravity

사물을 무한히 확대하거나 무한히 축소할 때 그에 대한 우리의 익숙한 감각은 부정되고 일반적으로 알려진 사실과는 다른 역설이 발생한다. 유한 속에 무한이 기능하고, 순간 속에 영원이 존재한다. 사소한 티클 하나에도 우주가 운행한다. 인간을 겸허히 만드는 힘이 이 경이로움에 있다. 의식은 존재를 보장하지만 사고를 제약한다. 알면 알수록 알 수 없는 것이...