도와주세요!!
EZ-s3c6410 보드에서 FFmpeg를 이용해 웹캠 스트리밍을 하고 있습니다.
쉽게 말하자면 웹캠에서 읽어드리는 영상을 보드내에 저장시키고 해당IP로 스트리밍 하는 것입니다.
/tmp 디렉토리에 feed2.ffm 형태로 계속 저장하는데 어느순간 작동을 안하는겁니다.
그래서 이렇게 확인을 해보니 다음과 같았습니다.
[root@falinux /]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 23797 15017 7552 67% /
/dev/mtdblock2 506880 282840 224040 56% /app
/tmp는 아마 /dev/root 에 속해 있어서 용량이 금방 차버려서 작동인 안된것이었습니다.
그래서 /app 디렉토리 밑에 /tmp 디렉토리를 만들고 여기에 저장을 시키니 용량이 충분해서 작동은 잘 합니다.
여기서 궁금한점이 왜 이렇게 차이가 나는 것일까요?
/app 에서는 NAND를 사용하고 /는 RAM에 있어서 이런 것인가요?
이러다 보니 /app 밖에 디렉토리를 만든것들이 전원을 다시 키고나면 없어졌던것 같습니다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
그리고 GPIO에 대한 질문입니다.
강좌&팁에 올라와 있는 GPIO다루기를 보면 인터럽트핀을 이용하여 LED를 켜는 예제가 있습니다.
여기서 보면 OUTPUT 핀으로 사용한것 같은데 책자(5-9 page)에 보면
EINT5,6, GPH0~5핀들이 IN 으로 고정되어 있습니다. IN/OUT이 다 되지 않는것 같습니다. 어떻게 쓴것일까요?
현재 프로젝트에서 GPH0~5핀을 OUT으로 사용을 하려고 합니다.
그리고 예제 소스를 보다보니 주번호가 203? 이라고 지정을 한것같은데 책자를 찾아보니 해당 핀의 주번호, 부번호가 안보입니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
요약하자면 다음과 같습니다.
1. 파일시스템에서 /app에서는 전원을 껏다켜도 살아있고, / 에서는 사라지는 것일까요? (NAND 때문인지)
2. 1K-blocks의 단위는 Kilo Byte 인가요?
3. GPIO에서 GPH0~5 핀들을 OUT 용도로 사용가능 한가요? 그리고 주번호, 부번호는 ?
감사합니다. ^^ 웹캠 연결하는데만 한달 넘게 걸렸네요... ㅠ
GPH0~5번 핀이 EINT0~5 이라는 말씀이신가요?
음... 책이 다른건가요? 여기는 다르게 적혀 있는데... 제가 잘못이해하고 있는건지....
ᅠJ3핀의 No.45~50번까지 GPH0~5가 연결되어있다고 하네요.
찾다보니 IN/OUT 모두 되는 GPE0~4가 있네요. 확장핀에도 연결되어있으니 이것을 사용해보는게 좋을것같습니다.
그런데 예제와 같이 포트의 주소, 0000이면 IN, 0111이면 INT 이런식의 데이터시트는 어디서 볼수 있을까요?
예제만 보고 하자니 GPH에 대한 정보만 알게 되니까요.. ㅎ
카메라 연결에 성공하신 모양입니다~! 축하!( 저는 아직도..ㅋㅋㅋㅋ)
저도 비슷한 프로젝트를 하고 있는 관계로 ..
별 도움이 안될지 모르겠지만..
제가 보니까.. /app는 NAND 이고요. /는 RAM이 맞아요.
전원이 껏다 켜지면 , /app의 내용은 남지만, 나머지는 날아간다고 보심이 맞죠.
저도 GPIO 로 LED를 제어해야 해서 그부분 보고 있는데요..
원래 원칙은 해당 주소에 값을 써주면 해당 비트 값이 유지되는 것이 맞습니다.
보통의 CPU에는 핀의 포트의 입출력을 제어하는 또 다른 포트주소가 존재 합니다. 해당 비트를 1로 하면
해당 포트가 IN으로 바뀌는 식이죠.
그런데지금 사용 하시려는 GPIO는 EINT0~5 입니다. 이는 인터럽트죠..
인터럽트란 외부 신호가 들어오면 연결되어 있는 루틴을 실행하는 구조이므로 in 으로 작동하는것이 맞습니다.
만일 인터럽트를 사용하지 않는다고 하고, 하당 포트주소(정확하게는 메모리맵이죠)에 값을 써주면 출력이 될것으로
보입니다. (어디까지나 재생각입니다.) 저도 몇일 안으로 비슷한 일을 해야 해서(지금은 RS-232로 고민중)
선행 학습한 내용입니다,