Mango24R2_Nand_write
uboot write
먼저 라이팅된 sd카드를 보드에 연결합니다.
부팅 스위치 3번 on(SD부팅)
보드 리셋 누르고
nand scrub; 입력
y 입력
nand erase 0 40000
tftp를 이용하기 위해선 리눅스에 tftp를 설치해야한다. 디렉토리 위치를 /home/tftp 로 설정했다.
보드에 인터넷 연결
setenv ipaddr "12.92.163.33"
setenv serverip "12.92.163.30"
setenv gatewayip "12.92.163.255"
saveenv
tftp c0000000 /image/u-boot.bin
nand write c0000000 0 40000
|
TFTP로 u-boot를 받기위해서 환경설정해줍니다.
kernel write
Nand mod로 바꿔서 부팅 (3,5,6 ON)
setenv ipaddr "12.92.163.33"
setenv serverip "12.92.163.30"
setenv gatewayip "12.92.163.255"
saveenv
nand erase 80000 400000
tftp c0000000 /image/zImage
nand write c0000000 80000 400000
nand erase 500000 9500000
|
nand에서 부팅 후 환경설정 그리고 커널이미지를 다운로드 후 라이트 합니다.
rootfs write
ubifs사용 하여 rootfs를 라이팅 합니다.
여기서 rootfs도 tftp를 이용해서 라이팅하려 했으나
Mango24r2의 DRAB이 64MB이다.
yaffs2의 용량을 확인하니 64MB를 훌쩍 넘어서
UBIFS를 사용했다.
mango24r2에 삽입되어있던 sd카드를 빼서
sd카드를 리눅스 pc에 삽입합니다.
fdisk -l 을 입력합니다.
개인에 맞게 sdc1 sdc2 가 보입니다.
sdc1은 이전에 sdwrie할때 사용한 것으로 sdc2를 사용합니다.
mkdir /home/usb
chmod 755 /home/usb
마운트할 곳을 만들고 권한 설정해줍니다.
mount /dev/sdc2 /home/usb
마운트 해주고
cp rootfs.tar /home/usb/root
sd카드를 빼서 보드에 삽입 후 sd부트로
바꿔서 부팅 (3 ON)
mango2450 login : root
Password : root
둘다 root 입력
flash_erase /dev/mtd2 0 0
ubiattach /dev/ubi_ctrl -m 2
ubimkvol /dev/ubi0 -N rootfs -m
mkdir /mnt/nand
mount -t ubifs ubi0:rootfs /mnt/nand
cd /root
tar xvf rootfs.tar -C /mnt/nand
cp app-adc /mnt/nand/root/
umount /mnt/nand
|
위에서 "cp app-adc /mnt/nand/root "adc 앱 copy 입니다.
nand라이팅이 끝났습니다.
3,5,6, on (nand)
nand환경
아래는 제 환경값입니다. 부팅 후 엔터 누른 뒤 print누르면 나옵니다.
bootcmd=nand read 0xC0008000 0x80000 0x480000;bootm 0xC0008000
bootargs=noinitrd console=ttySAC1,115200 rw ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs rootwait ethaddr=00:40:5c:26:0a:5b
setenv bootcmd 'nand read 0xC0008000 0x80000 0x480000;bootm 0xC0008000'
setenv bootargs 'noinitrd console ttySAC1,115200 rw ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs rootwait ethaddr=00:40:5c:26:0a:5b'
|
ADC 측정
adc를 측정하는 어플입니다.
아래 보면 첫번째 줄에 빨강 네모상자부분이 변한 것을 볼 수 있습니다.
그 이유는
CM2450에서는 위와 같이 5개의 Analog input이 5개 있습니다.
CX-C24R2 보드에서는 아래와 같이 23, 24번이 CON20에 연결되어 있습니다.
위에서 보면 1, 2번이 3.3V 로 연결 되어있습니다.
보드를 보면 CON20이 있습니다.
23과 24번이 AIN0, AIN1입니다.
위에 CON20회로도를 보면 1,2 는 3.3V 입니다.
3,3V 를 23에 연결하면
위와 같이 변경되는 것을 확인 할 수 있습니다.
24번에 연결하면 아래와 같이 됩니다.
첫번째 줄이 AIN0이고 두번째 줄이 AIN2입니다.
CON 19 에 그라운드단을 연결했습니다.
CON 20과 19는 위아래가 반대입니다.
실크를 잘보셔야합니다.

<<이렇게 삼각형 보시 있는 것이 1번입니다.
그라운드를 25번에 연결했습니다.
측정방법은 매우 간단하게 하였습니다만
여기다 가변 저항을 달아도 되고 여러가지 analog신호를 센서로 받아서 사용 가능 합니다~
그외 에러
1. yaffs2 make하는 방법과 TFTP를 이용한 라이팅중 끊김.
mkyaffs2image 이용
./mkyaffs2image rootfs image.yaffs2
에서 rootfs 는 사용할 rootfs이고
image.yaffs2는 자신이 만들 yaffs2명이다.
한참을 tftp로 라이팅 하려했는데 자꾸 에러나서 알고보니 DRAM초과이다.
TFTP는 연결이 잘 될 경우 : #####
연결이 안 될 경우 : TTTTT
2. TFTP ERROR
TFTP error 'Access violation'
->권할 설정 문제이다.
chmod 755 '파일명' 을 이용해서 권할설정한다.
3. tar xvf rootfs.tar -C /mnt/nand
invalid tar magic 하고 에러가나면 파일 압축시 z 옵션을 준것입니다.
보드에서 확인해보면 보드상에 z옵션이 없습니다.
압축파일을 풀고 z옵션을 안 준 상태에서 압축한 후 다시 진행합니다.