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

안녕하세요


질문하나 드립니다. 


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


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


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

어떻게 해야하는지, 방법이 있는지 궁금합니다. ( 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
6268 Wifi와 셀률러 동시 사용 설정 관련 [1] 겟페우스 2016-10-26 330
6267 MIPI DSI 문제 문의 드립니다. file [3] 모리 2016-11-09 333
6266 MPU-9250 9축 센서 테스트 방법 질문입니다. [4] 으악 2016-08-27 336
6265 udev rules 파일에서 ifconfig 와 ifup 차이 [1] 제드 2016-09-23 336
6264 리눅스 드라이버와 안드로이드 어플리케이션 간 파일 공유 문제 [3] vain 2015-07-16 338
6263 LCD panel/MIPI/DSI 관련 질문 [2] marinboy 2016-12-17 338
6262 JNI 에러 발생에 대하여.... [1] 하하호호하하 2019-04-18 343
6261 [android] SystemProperties.set() 적용 되지 않는 문제점 [2] rion110 2015-04-08 348
6260 AP 추천 받습니다. [2] 김민욱 2018-05-29 349
6259 UART 승압 이슈 [2] 김민욱 2021-03-29 350
6258 안드로이드 센서 HAL을 포팅하고 싶은데요 전체적인 그림이 잘 안... [3] 더미원 2016-12-22 351
6257 카메라 관련 질문입니다. [7] 칼마 2017-02-03 352
6256 RK3288로 개발을 하는데요. 질문이 있습니다. [7] 김민욱 2019-05-18 353
6255 RISC-V 에 관한 전망 [4] 김민욱 2018-12-04 353
» 리눅스 디바이스 드라이버 저장소 문제 [3] 하하호호하하 2022-08-12 356
6253 wifi module 문의 [3] gudrl 2015-02-25 356
6252 임베디드 안드로이드 초보 문의 [2] 지누 2018-05-19 359
6251 nxp4330 개발보드를 아직도 구매할수 있나요? [3] biokk 2017-10-31 365
6250 Wi-Fi Power Save Mode 관련 질문 [2] blue0sky 2015-03-19 368
6249 USB Host 질문입니다. [2] 하하호호하하 2020-04-20 374

사용자 로그인