20151013 김태현 라즈베리파이 커널 업데이트(작성중)
arm과 intel의 차이점
intel cpu는 함수의 인자의 갯수에 상관없이 전부 스택을 사용하지만
arm은 인자가 5개 이상이 되면 스택을 사용한다.
arm은 스택을 사용하지 않고 레지스터를 사용하기 때문에 인텔보다 효율적이고 빠르다.
Arm의 레지스터 구조
참조
http://egloos.zum.com/recipes/v/5631403 그림 클릭시 이동
총 7가지의 모드가 존재한다.
r0~r7까지는 모든 모드가 레지스터를 공유한다.(user 모드에서 r0에 1을 넣고 system모드에서 r0의 값을 읽으면 1이 들어가 있는걸 확인할수 있다.)
r8부터는 모드마다 사용하는 레지스터가 달라진다.(각각의 고유 레지스터를 가지고 있다.)
r13, r14, r15는 일반 레지스터와 달리 특별한 일을 하는 레지스터다.
r13(sp)는 스택포인터이다.
r14(ra)는 돌아가야 할 주소가 저장된다.
r15(pc)는 다음 명령이 수행될곳의 주소가 저장된다.
라즈베리파이 커널 업데이트
참조 - https://www.raspberrypi.org/documentation/linux/kernel/building.md 밑의 그림 클릭시 이동
리눅스 안에서 아래의 파일경로로 이동후
git clone --depth=1 https://github.com/raspberrypi/linux
apt-get update
apt-get install bc
cd linux
KERNEL=kernel7
make bcm2709_defconfig
make -j4 zImage modules dtbs
make modules_install
cp arch/arm/boot/dts/*.dtb /boot/
cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm/boot/dts/overlays/README /boot/overlays/
scripts/mkknlimg arch/arm/boot/zImage /boot/$KERNEL.img
위의 명령어를 모두 실행한후 reboot 해주면 새로운 커널이 적용된다.
라즈베리 파이2 관련 pdf 다운로드
1. https://www.raspberrypi.org 접속후 Help에 DOCUMENTATION 클릭후 HARDWARE클릭
2. Raspberry Pi 클릭
3. BCM2836 클릭
4. 빨간 박스안의 링크 두개다 클릭해서 pdf 다운로드