기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요


질문하나 드립니다. 


최초 부팅시 특정영역을 읽어서 그에 맞는 액션을 해야 합니다 . ( 쓰기도 해야합니다. )


읽는곳은 부팅시 초기에 실행되는 디바이스 드라이버입니다. 


파일시스템이 마운트되기 전에 실행되는 놈이라 뭔가에다가 써야하는데 ( 비휘발성 메모리 ) 

어떻게 해야하는지, 방법이 있는지 궁금합니다. ( EEPROM 같은 외부메모리가 없습니다...ㅠㅠ)  


env 영역도 고려해봤는데 드라이버에서 어떻게 써야할지 모르겠고.. 


혹시 아시는분 있으시면 답변부탁드립니다.



고도리

2022.08.15 23:15:25
*.170.154.90

1. 부트로더서 하는 방법이 있습니다.

특정 영역은 OS에서 virtual memory로 mapping하지 않도록 DMA영역이나, 실제 kernel이 인식하는 메모리 영역을 특정영역은 빼고 잡으면 됩니다.


예를 들어, 256M 메모리가 있다라고 가정할 때

끝에 56M를 쓰지 않고, 200M만 커널이 인식하도록 하면 됩니다.


그 후에 커널서 56M 영역을 DMA 영역으로 매핑해서 사용할 수 있습니다.

커널이든 user space에서 mmap을 쓰던....


2. 디바이스 드라이버의 경우는 모듈로 로딩할 때 filesystem에서 읽어서 하기 때문에 filesystem을 쓰기는 쉽지 않습니다.


보통 이런 경우는 ubuntu나 pc용 linux가 부팅하는 방식대로, init ram disk를 이용해서 메모리로 로딩 후에 부팅이 끝나면 "할일하고" 실제 rootfs로 change rootfs를 해서 처리하는 방법이 있습니다.


--------------------------------

본문의 내용을 제가 이해를 제대로 못했을 수도 있지만, 방법은 있을거라고 보여집니다.


좀 더 자세하게 정리해서 써 주시면 자세하게 답변 드리겠습니다.


하하호호하하

2022.08.17 09:21:30
*.134.129.225

답변 정말 감사드립니다. 


조금더 정확하게 말하면 LCD 2종 모두 사용하려고 합니다.  ( 어떤 LCD가 연결되는지는 알수가 없음 )


최초 부팅 -> LCD driver에서 LCD ID읽음( 특정 영역에 설정이 되어있으면 pass)  -> 특정영역에 저장 -> 재부팅 -> 특정영역을 읽어 해당하는 LCD로 설정 -> 부팅 


위의 시나리오로 가려고 하는데 특정영역을 어떻게 사용해야 하는지요? 

( 재부팅 이유는 chip에 좀 문제가 있어 ID를 읽고나면 화면이 안보이는 버그가 있어 재부팅을 합니다. ) 


잘 설명이 되었는지 모르겠네요... 

고도리

2022.08.17 21:57:51
*.170.154.90

추천
1
비추천
0

AP와 storage에 따라 이래저래 다를 듯 합니다.


storage가 eMMC의 경우는 맨 앞에 boot영역 바로 다음에 있는 block 1개 정도를 할당해서 데이터를 써 넣으면 될거고요.


만일, AP 내부에 SRAM영역 혹은 사용하지 않는 register가 있다라고 하면, 해당 영역 중 안쓰는 영역에 표시하고 reset을 걸면 될 듯 합니다.


보통은 위의 2 경우는 bootloader에서도 처리가 되는 부분이니, 큰 이슈는 없을겁니다.

저장해야 하는 데이터 량이 그다지 많지는 않을 듯 해서요.

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
6368 초보 앱 개발자 BLE(안드로이드13 과 미만에서의 수신차이) 관련 문... 블랙 2023-09-20 245
» 리눅스 디바이스 드라이버 저장소 문제 [3] 하하호호하하 2022-08-12 351
6366 stod32 사용해 보신분 계신가요? [4] Isaiah 2022-01-03 405
6365 WIFI 인증 테스트 문제 [1] kangb 2021-12-02 293
6364 2560 x 2560 해상도의 LCD에 Display 적합한 SOC를 찾아요... [5] 김민욱 2021-04-09 1008
6363 UART 승압 이슈 [2] 김민욱 2021-03-29 341
6362 NXP4330 MIPI LCD해상도 문의 [4] 수위타자 2021-02-10 502
6361 안전모드 진입 [1] 하하호호하하 2021-01-29 226
6360 SoM GPIO 제어 문의 [1] 단순최고 2021-01-25 167
6359 혹시 이런식으로 일 해주는 회사가 있나요? [2] 김민욱 2020-10-29 379
6358 SOC 추천 받아요 [5] 김민욱 2020-06-18 809
6357 ALSA에 관련해서 도움이 필요합니다.. [1] dh 2020-06-02 494
6356 USB Host 질문입니다. [2] 하하호호하하 2020-04-20 373
6355 정전식 터치 패널 문제 [1] 정창환 2020-03-24 1654
6354 카메라 다체널(3대 이상) 연결하는 블랙박스 솔루션을 찾아요. [5] 김민욱 2019-12-18 1101
6353 USB Type SSD를 사용시 적합한 파일시스템이 있을까요 ? [1] lOl 2019-09-02 373
6352 s5p6818 보드에 mipi camera 연결... [5] 이군 2019-08-10 707
6351 i.mx6q에서 libvpu.so 라이브러리를 사용하여 link시에 undefined ... [1] 이동희 2019-08-09 182
6350 RK 1808 을 사용한 SBC 형태로 나온 보드가 있나요 ? [2] lOl 2019-07-31 727
6349 라즈베리파이로 물건을 팔 수 있나요? [3] 김민욱 2019-07-16 616

사용자 로그인