åçã衚瀺ãã
å€ãSony PRS-505ãªãŒããŒã䟿å©ãªãã£ã¹ãã¬ã€ã«å€ããæ¹æ³ã説æããŸãã ãŸãããã®æ¬çšã«ç¬èªã®ããã°ã©ã ãäœæããæ¹æ³ãæããŠãã ãã
åé¡ã®å£°æ
ããããã€ã¹ã§ã¯ãã°ã©ããšå®éšããŒã¿ã衚瀺ãããã£ã¹ãã¬ã€ãå¿ èŠã§ããã ããŒã¿ã¯ãã£ãã«è¡šç€ºãããŸãããããã£ã¹ãã¬ã€ã¯äœé»åã§ã倧ããã解å床ãé«ãããšãæãŸããã§ãã
ãœãŒã¹ããã€ã¹ã¯Linuxã§å®è¡ãããUSBãã¹ãããããŸãã æåã¯Vogueãã£ã¹ãã¬ã€ã«ç®ãåããŸãããããµã€ãºãšè§£å床ãå°ããããããããåŽäžããŸããã 圌ã¯ããã«æ€çŽ¢ãå§ããŸããã
ç§ã¯é·ãéãé»åæžç±PRS-505ã®åšãã«æšªããã£ãŠããŸããã ç§ã¯ãããåãåºããŠç®ã®åã«çœ®ãããäžã«ã¯Linuxããããã©ããã§ã³ã³ãœãŒã«ããã¢ã¯ã»ã¹ã§ãããšèããã ãããããã®ããšèªäœãããã§ããããšãèªèããŠããŸãã 眮ãå¿ããŠã
ãã°ããããŠãå人ã®Vshmukãšãã£ã³ãã«è¡ã£ããšãã ãçªç¶åãæ¬ãèªãã§ããããšãããããŸããã ãããŠåœŒã¯èªåã®èãã圌ã«è©±ããŸããã 銬鹿ããããšã«å¿ããŠ-å€æããããã«ãå°æ¬ãããåå¿ã¯ãã€ãŠãã®æ¬ã«ããŒããŠã§ã¢ã«ã¢ã¯ã»ã¹ããæ¹æ³ã«ã€ããŠã®èšäºãããã«ãŒã«æžããŸãããããªãããããæ±ãããšãã§ããŸãã
Linuxãç解ããŠããªã人ã®ããã«ããã¬ãŒã ãããã¡ã¯ïŒäžè¬çãªããã€ã¹ãšåæ§ã«ïŒLinuxãã¡ã€ã«ã§ããããã®äžã«ïŒçè«çã«ïŒã¡ã¢ãªãŒã¹ãããã·ã§ãããã¡ã€ã«ãæžã蟌ã¿ãç»é¢ã«è¡šç€ºã§ããããšã説æããŸãã ããŒããŠã§ã¢ã®ã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããšãã§ããŸãã ãã®ãã¡ã€ã«ãå¥ã®å Žæã«ã³ããŒããŠãããªã¡ã¢ãªããã³ãããã³ããŒïŒãŸãã¯æžã蟌ã¿ïŒããŠè¡šç€ºããŸãã
ãããå¿
èŠãªçç±ïŒ
ãªããããå¿
èŠãªã®ãïŒããšãã°ãã¿ãŒã²ãããã·ã³ã§ã¯ãä»®æ³ã¹ã¯ãªãŒã³ãžã®ãããªåºåãããããã®è§£å床ã¯æ¬ã®è§£å床ïŒã€ãŸã600x800ïŒã«çãããªããŸãã ãã®åŸãå®æçã«ä»®æ³ã¹ã¯ãªãŒã³ãã¬ãŒã ãããã¡ãã¡ã€ã«ãååŸãããSOMããŒãã«ãªãã€ã¬ã¯ããããŸãããã®æåŸã«ãcomã³ãã³ãããcatã³ãã³ãã䜿çšããŠããããæ¬ã®ãã¬ãŒã ãããã¡ã«ãªãã€ã¬ã¯ããããŸãã
ãã¹ãŠã®ã³ãã³ãã¯ã¿ãŒã²ãããã·ã³ã§å®è¡ãããæ¬ã¯UARTãä»ããŠã/ dev / ttyUSB0ã§ãã³ã°ããVCPãä»ããŠæ¥ç¶ãããŠããããšã瀺ããŸãã ã³ãã³ãã¯ãããšãã°ã¯ããŒãã§æ°åããšã«åŒã³åºãããŸãã
echo "cat / dev / ttyS0> / dev / fb0"> / dev / ttyUSB0
ãã®UARTã³ãã³ãã¯ãCOMããŒããã¡ã€ã«ã®å 容ããã¬ãŒã ãããã¡ãŒã«ãªãã€ã¬ã¯ãããã³ãã³ããéä¿¡ããŸãã 次ã«ã2çªç®ã®ã³ãã³ãããããŸãã
ç«/ dev / fbn> / dev / ttyUSB0
ãã®ã³ãã³ãã¯ãfbnä»®æ³ç»é¢ïŒnã¯ç»é¢çªå·ïŒã®å 容ãCOMããŒãã«è»¢éããŸãã ãã¹ãŠãæ£åžžã«æ©èœããã¯ãã§ãããã¡ã€ã«ã®çµããã®æåãå°çãããšè»¢éãçµäºããŸãã
ãã¹ãŠã®ã³ãã³ãã¯ã¿ãŒã²ãããã·ã³ã§å®è¡ãããæ¬ã¯UARTãä»ããŠã/ dev / ttyUSB0ã§ãã³ã°ããVCPãä»ããŠæ¥ç¶ãããŠããããšã瀺ããŸãã ã³ãã³ãã¯ãããšãã°ã¯ããŒãã§æ°åããšã«åŒã³åºãããŸãã
echo "cat / dev / ttyS0> / dev / fb0"> / dev / ttyUSB0
ãã®UARTã³ãã³ãã¯ãCOMããŒããã¡ã€ã«ã®å 容ããã¬ãŒã ãããã¡ãŒã«ãªãã€ã¬ã¯ãããã³ãã³ããéä¿¡ããŸãã 次ã«ã2çªç®ã®ã³ãã³ãããããŸãã
ç«/ dev / fbn> / dev / ttyUSB0
ãã®ã³ãã³ãã¯ãfbnä»®æ³ç»é¢ïŒnã¯ç»é¢çªå·ïŒã®å 容ãCOMããŒãã«è»¢éããŸãã ãã¹ãŠãæ£åžžã«æ©èœããã¯ãã§ãããã¡ã€ã«ã®çµããã®æåãå°çãããšè»¢éãçµäºããŸãã
ããžãã¹ã«åãæãã
壮倧ãªæ ããæ»ã£ããšãã圌ã®èšäºwww.xakep.ru/magazine/xa/129/092/1.aspãæ¢ã㊠ããããå§ãŸããŸããã
æåã«ãæ¬ãå解ããã€ã³ã¿ãŒãã§ã€ã¹ãã¢ãªã³ã°ã«ft232rlãããã䜿çšããŠãããã°ã³ã³ãœãŒã«ã«ã¯ãã ä»ãããŸããïŒç§ã®æçš¿ãUARTãšãã®çšéã -habrahabr.ru/post/109395ãåç § ïŒ
ã¯ãã ä»ããããã€ã³ã¿ãŒãã§ãŒã¹ãåããããããªããªãŒããŒ
èé¢å³
ã¯ãã ä»ãããæ¹æ³ãšã³ã³ã¿ã¯ãã®è©³çŽ°ã«ã€ããŠã¯ã www.the-ebook.org / forum / viewtopic.phpïŒp = 120092ïŒ120092ãã芧ãã ããã
ãã°ã€ã³æ¹æ³ãã©ã®ããã»ã¹ã匷å¶çµäºããå¿ èŠãããããªã©ãVshmuk åå¿ã«ããèšäºãåŒçšããããããŸããããã®èšäºã§åœŒããèªãã®ãæåã§ãã èšããã®ã¯ãæ¬ãæšæºã®USBãä»ããŠã³ã³ãã¥ãŒã¿ãŒã«æ¥ç¶ãããŠããå Žåãããã»ã¹ã匷å¶çµäºããå¿ èŠã¯ãªãããã¹ãŠããã®ããã«æ©èœããããšãçµéšçã«ç¢ºç«ãããŠãããšããããšã§ãã ã¿ãŒããã«ãšããŠç§ã¯ãæ°ã«å ¥ãã®ããã³ã ã䜿ããŸãã
ã¯ãã ä»ãåŸãOSã®ç 究ãå§ããŸããã äœããããŸããã¹ã¯ãªããã調ã¹ãŸãããã¹ã¯ãªããã¯èšäºã«èšèŒãããŠããããã¹ãŠãããŠã³ãããããŒãã€ã¡ãŒãžã衚瀺ããŸãã ãããã©ããªç£ãªã®ãèŠãŠã¿ãŸãããã
ã«ãŒã@ïŒãªãïŒïŒ/ïŒcat /etc/rc.d/rcS.d/S20libromount
ããã«èœã¡ããã¹ãŠã®ãã©ã¢ã¡ãã·ã¥ã®äžã§ãç§ãã¡ã¯ããã«æãèå³ãæã£ãŠããŸãïŒ
# display booting image /usr/local/sony/bin/nblconfig -dump | head -3 | awk '{print $9}' | grep 02 > /dev/null if [ $? == 0 ]; then # init screen load grep BootImg /proc/mtd > /dev/null if [ $? == 0 ]; then NUM=`grep BootImg /proc/mtd | awk -F: '{print $1}' | awk -Fd '{print$2}'` dd if=/dev/mtd$NUM of=/dev/fb0 bs=256 count=1875 /opt/sony/ebook/bin/writescreen init 0 else /opt/sony/ebook/bin/writescreen init 1 echo no boot image fi else /opt/sony/ebook/bin/writescreen init 1 fi ...
ã©ã³ãã ãªåã§ã¹ã¯ãªãŒã³ããã³ããŒã§æãšããšæ±ºå¿ãããã®ã³ãã³ããäœæããŸããã
ã«ãŒã@ïŒãªãïŒïŒ/ïŒdd if = / dev / urandom of = / dev / fb0 bs = 256 count = 1875
1875 + 0ã¬ã³ãŒã
1875 + 0ã¬ã³ãŒã
ããããäœãèµ·ãããŸããã§ãã...
次ã®ã³ãã³ããè©ŠããŠã¿ãŸãããã
ã«ãŒã@ïŒãªãïŒïŒ/ïŒ/ opt / sony / ebook / bin / writescreen init 0
0x00035000ããèªã¿åãããææ°ã®nblconfig
0x00035800ã«æžã蟌ãŸããææ°ã®nblconfig
ãããŠ...å¥è·¡ã¯èµ·ãããªãã£ãã ãŸããããŒã
ã«ãŒã@ïŒãªãïŒïŒ/ïŒ/ opt / sony / ebook / bin / writescreen init 1
銬鹿ããŠç»é¢ãšãã¹ãŠãæ¶ãããã®åŸã圌ã¯ãã¯ãçåœã®å åãèŠããŸããã§ããã
äžè¬ã«ãåé¡ãç°¡åã«è§£æ±ºããããšã¯ã§ããŸããã§ããã ãã®ãããããŒããŠã§ã¢ã«åãæ¿ããŸããã 现ãç·ããã®ãããã®éŒ»ã¯ç°¡åã«å€ããããšãããã®ã§ãç§ã¯æ¬ãããæ£ç¢ºã«ããæ¹æ³ãèãå§ããŸããã ãã®çµæãããããã©ã³ãžã£ãã¯ãããããã°ã³ã³ãœãŒã«ãåŒãåºããŸããã ããã§ã¯ãã³ãã¯ã¿ã®ããé£ã®ã¡ãŒã«ãŒããŒãæµæã®æµæåšãæäŸããŸãããããã2æ¬ã®RXç·ãšTXç·ãå®å šã«åãå€ããŠåãäžããããããã©ã³ããã°ã©ã³ããæ®ããŸããã 圌女ã¯æ°ãšé»æ°çã«è§£ããŠããŸããã§ããã
ãªãŒãã£ãªãžã£ãã¯ãžã®ãããã°ããŒãã®åºå
å®éšãçµããåŸãã³ã³ãœãŒã«ãä»ããŠãã¡ã€ã«ãçŽæ¥é§åããããšããããšã«ããŸããã ããã¯ã2æ¬ã®ã¯ã€ã€ãåŒã£åŒµããããã©ãã·ã¥ãã©ã€ãã®ãªãœãŒã¹ãæ¶è²»ããªãããã«ããããã«å¿ èŠã§ãïŒUSBãã©ãã·ã¥ãã©ã€ãã«ç»åãèšé²ããŠããåçïŒã æ¬ããã³ã³ãã¥ãŒã¿ã«å®å šã«ç§»è¡ã§ããŸããããå ã«æ»ããŸããã
å®éšã®ããã«ãç§ã¯ç»åãã¡ã€ã«ã転éããããšããŸããã ããŒãã€ã¡ãŒãžåºåã¹ã¯ãªããã«ã€ããŠã¯ãã§ã«è©±ããããšãèŠããŠããŸããïŒ åœŒã¯ãªãŒããŒã®NANDãã©ãã·ã¥ãã©ã€ãã»ã¯ã·ã§ã³ãããããèªã¿åãããã¬ãŒã ãããã¡ã«æžã蟌ã¿ãŸãïŒ
NUM = `grep BootImg / proc / mtd | awk -FïŒ '{print $ 1}' | awk -Fd '{print $ 2}' '
dd if = / dev / mtd $ NUM of = / dev / fb0 bs = 256 count = 1875
/ opt / sony / ebook / bin / writescreen init 0
æåã®è¡ã¯ãç»åãååšããã»ã¯ã·ã§ã³ãå®çŸ©ããŸãã ãã®ã³ãã³ãïŒåäžåŒçšç¬Šã§å²ãŸããŠããŸãïŒãå®è¡ããã»ã¯ã·ã§ã³çªå·ãèŠã€ããŸãã ç§ã®å Žåã9ã«çããã£ãã§ãã
ããã§ã¯ã2çªç®ã®ã³ãã³ããå°ãä¿®æ£ããŠã転éãCOMããŒãã«è¡ãããããã«ããŸãã çµéšçã«ãåä¿¡ãšéä¿¡ã®ã³ã³ãœãŒã«ã¯ãã¡ã€ã«/ dev / ttyã§ããããšã確èªããŸããã ç»åã転éããŸãããã®ããã«ãã³ã³ãã¥ãŒã¿ãŒã®ã¿ãŒããã«ãéããŠå®è¡ããŸãã
cat / dev / ttyUSB2> bootimg.raw ãããã§ttyUSB2ã¯ft232rlããŒã¹ã®VCPã€ã³ã¿ãŒãã§ãŒã¹ã§ãã
次ã«ãå¥ã®ã³ã³ãã¥ãŒã¿ãŒã³ã³ãœãŒã«ã§æ¬¡ã®ã³ãã³ããå®è¡ããŸãã
echo "dd if = / dev / mtd9 of = / dev / tty bs = 256 count = 1875"> / dev / ttyUSB2ã¯ãã³ã³ãœãŒã«ãä»ããŠã³ã³ãœãŒã«çµç±ã§ã€ã¡ãŒãžã転éããã³ãã³ããéä¿¡ããŸãã
ãã®ç»åããã€ããªãã£ã¹ãããpngã«å€æããŸãã
echo -e "P5 \ n800 600 \ n255 \ n"> result.pgm
ç«bootimg.raw >> result.pgm
å€æresult.pgm result.png
ãã®çµæããŸãã«ãã®ãããªåçãåŸãããŸãã ãªããªãŒããŒã·ã¥ãŒãããã®ãã¯ããããŸããããæããã«ããã€ãã®äŒéãšã©ãŒããããŸããã
çµæã®ç»å
ãšããã§ããã¬ãŒã ãããã¡ã«æžã蟌ãããšãã§ããç»åãšã¯äœã§ããïŒ ããã¯ããããã¹ã¯ã§ãããåãã€ãã¯ãã¯ã»ã«ã®è²ã«çãããæ£ç¢ºã«800x600 = 480000ãã€ãã®éãã§ãã ãããã£ãŠããã¬ãŒã ãããã¡ã«è»¢éããç»åã®ãµã€ãºã¯800x600ã§ãééã¯æ£ç¢ºã«480000ãã€ãã§ãªããã°ãªããŸããã æ¬è³ªçã«ãããã¯* .pgmãã¡ã€ã«ã§ãããã«ãããªãããããŒã®ã¿ããããŸãã
éã«ããã¡ã€ã«ã転éã§ããŸããã§ããã ã©ããããã³ã³ãœãŒã«ã¯æšæºå ¥åããã€ã¹ã§ãããå°å·ã§ããªãæåã奜ãŸãªãããã§ãã ãããã®å®éšã®è©³çŽ°ã«ã€ããŠã¯ã dlinyj.livejournal.com / 608961.htmlãã芧ãã ãã ã
ç§ã¯ãŸã ããã°ã©ã ã§äœæ¥ã§ããªãããšã«æ°ä»ããã®ã§ããã®ããšã劚ãããã®ã¯äœããªãã£ãã®ã§ãæ¬ãã±ãŒã¹ã«å ¥ããããšã«ããŸããã
ã·ã¹ãã ãã¹ã¯ãªããã調æ»ããåŸãã³ã³ãœãŒã«ããŒã«ã䜿çšããŠç»åã衚瀺ã§ããªãããšãæããã«ãªããŸããã 圌ãã¯ãã§ã«1人ã®å人ããã®åé¡ã解決ããŠããŠã圌ã®ããã°systemsand.me/sony-prs-300prs-505-hackã§ãã説æããŠãããšç§ã«èšã£ãã ã€ãŸããããã°ã©ã ã¯éåžžã«ç°¡åã§ãããäœæããå¿ èŠããããŸãã
ç§ã¯ããããããŒã«ãã§ãŒã³ãããŠã³ããŒãããŸããïŒããç°¡åã«èšããšãã¢ã»ã³ããªçšã®ã³ã³ãã€ã©ãŒã§ãããããã¯å®å šã«æ£ç¢ºã§ã¯ãããŸããïŒããæ°ã«å ¥ãã®ubuntuã«ã ãããŠãããã«ã¡ã¯èšèãæ§ç¯ããããšããŸãã
åèã®ããã«ã圌ã¯ã³ãã³ãarm-none-linux-gnueabi-gcc -mcpu = arm920t hello.c -o helloã䜿çšããäºå®ã§ããã
æãéèŠãªããšã¯ãåãåã£ããã¡ã€ã«ãæ¬ã«è»¢éããæ¹æ³ã§ããã USBãæ¥ç¶ãããšãçŽ200ã¡ãŒãã«ã®ããªã¥ãŒã ãæã€ç¹å®ã®ãã£ã¹ã¯ãã³ã³ãã¥ãŒã¿ãŒã«è¡šç€ºãããããšã«æ°ä»ããŸããã ããããæ¬ã®ã·ã¹ãã ã§ã¯ããã§ã¯ãããŸããã
ç§ã¯Knikzhiãã¡ãŒã ãŠã§ã¢ã®ãã¹ãŠã®æ¬ãæã£ãŠããŸãããããŒããã£ã¹ã¯ãæ¬ã®ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããŠããããšã«æ°ä»ããŸããïŒããã€ã¹ã®ç®çãæå³ããŸãïŒã ããã¯cramfs.Fsk.imgãã¡ã€ã«ã§ã
ãã®ç»åãã³ã³ãã¥ãŒã¿ãŒã«ããŠã³ãããsony / ebook / bin / tinyhttp.shã¹ã¯ãªããã確èªããŸããã ãããè¡ãæ¹æ³ã¯ãHackerã®èšäºã§åã³èª¬æãããŠããŸãã Trolo pysch pyschã誰ãèªãŸãªãã Vshmukã®èšäºã«ãããšãããã¯ãŸãã«ã³ã³ãœãŒã«ãååŸããæåã®æ®µéã§çµæ®ºããã¹ã¯ãªããã§ãã ãããŠããã®ãããªè¡ããããŸããïŒ
NUM = `grep Data / proc / mtd | awk -FïŒ '{print $ 1}' | awk -Fd '{print $ 2}' '
/ usr / local / sony / bin / mkdosfs / dev / mtdblock $ NUM
ç¹°ãè¿ããŸãããæåã®è¡ã¯ããã€ã¹çªå·ãååŸããŸãã æåã®ã¹ã¯ãªããïŒåŒçšç¬Šã§å²ãŸãããã®ïŒãå®è¡ãããšãçªå·17ãååŸããã/ tmp / t1ã«/ dev / mtdblock17ãããŠã³ããããŸããã ããããã©ãã·ã¥ãã©ã€ãã«ãªãããšãã©ã®ããã«ç解ãããã説æããããšã¯ã§ããŸãããããŠãŒã¶ãŒããŒã¿ã®åæåãè¡ãå¿ èŠãããã®ã¯ãã®ãã¡ã€ã«ã«ããããšã ããããžãã¯ãã瀺åãããŸããã
ãã®çµæãã³ã³ãã¥ãŒã¿ãŒã«è¡šç€ºããããã£ã¹ã¯ã®å 容ãèŠãŸããã
ãããŠãç§ã¯ãããå®è¡ããããšããããšã«ããŸããïŒ
ã«ãŒã@ïŒãªãïŒïŒ/ tmp / t1ïŒls
Digital Editions autorun.infããŒã¿ããŒã¹hello tmp
ã«ãŒã@ïŒãªãïŒïŒ/ tmp / t1ïŒcp hello / tmp /
ã«ãŒã@ïŒãªãïŒïŒ/ tmp / t1ïŒcd ...
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒls
ããã«ã¡ã¯t1
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒ./hello
bashïŒ./helloïŒãã®ãããªãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªã¯ãããŸãã
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒchmod + x hello
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒ./hello
bashïŒ./helloïŒãã®ãããªãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããªã¯ãããŸãã
è³¢ã人ã ã¯ãå¿ èŠãªã©ã€ãã©ãªãããã«ãªããããããªããšç€ºåãã-staticãªãã·ã§ã³ã§ãã«ãããããšãå§ããããŸããã ãã®åŸãäºæ ã¯æªåããŸãã
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒ./hello
ã»ã°ã¡ã³ããŒã·ã§ã³é害
ã³ã³ãã€ã©ãæ¢ãå¿ èŠãããããšãæããã«ãªããŸããã å€ãã®äººã ã®å©ãã®ãããã§ãç§ã¯åœŒãããã®æ¬ã®ä»£æ¿openinkpot.org/wikiãã¡ãŒã ãŠã§ã¢ãèŠãŠããããšãç¥ããŸããïŒ ãããã£ãŠãããŒã«ãã§ãŒã³ãå¿ èŠã§ãã
ãprs-505ããŒã«ãã§ãŒã³ããã°ãŒã°ã«æ€çŽ¢ãå§ããŸãããcode.google.com/p/ prs- plus/downloads/detail?name=arm -toolchain- sony-300.tar.gz&can=4&q=ã§èŠã€ãããŸããã ãã®åŸãHello Wordã¯åé¡ãªãïŒéçã§ãªããŠãïŒèµ·åããŸããã ããŠãæè¡çãªåé¡ã¯ã systemsand.me / sony-prs-300prs-505-hackã«ãããšãå°ããªããã°ã©ã ãã¹ã±ãããã
/* showpic.c */ #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ioctl.h> #include <sys/mman.h> #include <string.h> #define FBIO_EINK_GET_TEMPERATURE 0x46A1 //Returns temperature in degree Celsius #define FBIO_EINK_DISP_PIC 0x46A2 //Displays picture int main (int argc, char* argv[]) { printf ("Show image\n"); int *fb, *image; int pio_fd = open ( "/dev/fb0", O_RDWR); int f_image = open ( argv[1], O_RDWR); //open file into arg int t= ioctl (pio_fd, FBIO_EINK_GET_TEMPERATURE, NULL); //configure framebuffer fb= mmap(0, 800*600, PROT_WRITE, MAP_SHARED, pio_fd, 0); //map device into memory image= mmap(0, 800*600, PROT_READ, MAP_SHARED, f_image, 0); //load image into memory memcpy(fb,image,800*600); ioctl (pio_fd, FBIO_EINK_DISP_PIC, 0); close(pio_fd); close(f_image); return 0; }
å®çŸ©ã¯ãSony Webãµã€ãwww.sony.net/Products/Linux/Audio/PRS-505.html file 8track20070714.tgzã®ãã©ã€ããŒã«ãã£ãŠã³ãŒãããååŸãããŸããã
æå°éã®ãªãã·ã§ã³ã§ããªããã£ãã³ãã³ããã³ã³ãã€ã«ïŒ toolchain / arm-unknown-linux-gnu-gcc -static showpic.c -o showpicãžã®ãã¹
éçãªãã§ã¯ãç§ã¯åããããããŸããã§ããã
gimpã§ã800x600ã®è§£å床ã®ç»åãäœæããå¿ èŠãªãã®ãæç»ããŠhabrahabr.pgmãšããŠä¿åããŸãã
ç§ã®èžè¡
ããªãã¯ç§ã®èžè¡ãèš±ããŸãã ç§ã¯äžçæžåœããã®ãé¢åã§ããã
ãã®åŸãä»»æã®16é²ãšãã£ã¿ã§éããã¿ã€ãã«å šäœãFFã«åé€ããŸã
ã¿ã€ãã«ãåé€ãã
ããŒããã©ã€ãã®æ¬ã«èšå ¥ããŸãã ã³ã³ãœãŒã«ã«ç»ã£ãŠå®è¡ããŸãïŒ
ã«ãŒã@ïŒãªãïŒïŒ/ïŒcd tmp /
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒmkdir t1
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒmount / dev / mtdblock17 t1
ã«ãŒã@ïŒãªãïŒïŒ/ tmpïŒcd t1 /
ã«ãŒã@ïŒãªãïŒïŒ/ tmp / t1ïŒls
ããžã¿ã«çautorun.inf habrahabr.raw showpic
a.outããŒã¿ããŒã¹send.raw tmp
ã«ãŒã@ïŒãªãïŒïŒ/ tmp / t1ïŒ./showpic habrahabr.raw
ç»åã衚瀺
ã«ãŒã@ïŒãªãïŒïŒ/ tmp / t1ïŒ
ãããŠç§éã¯èŠãïŒ
ãã¡ãŒã·ã¥ããã¯
ããïŒ ãã®åçã¯å€ããŸããã§ããã å ã®ç»åãgimpã§90床å転ããæé ãç¹°ãè¿ããŸãã ãã®çµæãèŠç·ã衚瀺ãããŸã
蚌æããããã«äœãå¿ èŠã§ãããïŒ
ãŸãšã
ç§ã¯ãªããšãæ¬ã®ããã°ã©ã ãæžããŠãåçã衚瀺ããããšããã§ããŸããã ç®æšã¯gnuplotã®ã°ã©ãã£ãã¯ã¹ã衚瀺ããããšã ãšèšããªããã°ãªããŸããã ãã®ããã±ãŒãžã¯ãpgmãã¡ã€ã«èªäœãå®å šã«çæã§ããŸããæ®ãã¯ãããããŒãåãåãddã³ãã³ãã ãã§ãã
ã°ã©ãã®äŸ
ãŸã 解決ãããŠããªãäž»ãªåé¡ã¯ããã£ãŒããã¡ã€ã«ãããã¯ã«è»¢éããæ¹æ³ã§ãã ãããã°ã³ã³ãœãŒã«ããçŽæ¥ãããå®è¡ãããã£ãã®ã§ããããã®ããã«ã¯ã³ã³ãœãŒã«ããé¢ããŠãéåžžã®UARTã«å€æã§ããããã«ããå¿ èŠããããŸãã ãããè¡ãæ¹æ³ãããããŸããã ãŸããç§ã¯ãã®å Žã§ãããè¡ããšæããŸãã
圌ãã¯ãããã€ã¹ãUSBçµç±ã§COMããŒãã®ããã«èŠããããã«ãã©ã€ããŒãæ§ç¯ã§ãããšèšã£ãŠããŸãããããã¯åãã®ã¢ã©ãããããå¯èœæ§ãããããã«æããŸãã USBãã©ãã·ã¥ãã©ã€ãã«ãã©ã«ããŒãäœæããRAMã«ä»®æ³ã®äžæãã¡ã€ã«ã·ã¹ãã ãããŠã³ãããããšãã§ãããšæããŸãã ãã®æ¹æ³ã¯ãŸã è©ŠããŠããŸããã ããããUSBãã©ãã·ã¥ãã©ã€ããä»ããŠãã¡ã€ã«ã転éããã®ã¯äžåçã§äžåçãªæ±ºå®ã§ãã
äžè¬ã«ã質åã¯æªè§£æ±ºã®ãŸãŸã§ããããã®äž»é¡ã«é¢ãããã¹ãŠã®åççãªææ¡ãèãæºåãã§ããŠããŸãã
è¬èŸ
ãã®å¥åŠãªãããžã§ã¯ããå©ããŠããããã¹ãŠã®äººã ã«æè¬ããŸãã ãã£ãšãããšãããª
åç §ïŒ
1.ç§ãå®éšãå§ããããã«ãŒã®å ã®èšäºwww.xakep.ru/magazine/xa/129/092/1.asp ã
2.æ¬ãã¯ãã ä»ãããæé www.the-ebook.org/forum/viewtopic.php?p=120092#120092
3.æ®å¿µãªããã åé¡ã®Systemsand.me/sony-prs-300prs-505-hackã«ãã£ãŠåæ§ã®åé¡ã解決ãããŸããã圌ã¯ãœãŒã¹ãšããŒã«ãã§ãŒã³ãæäŒãããšãã§ããŸããã§ããã
4.æ¬ã®ãã¡ãŒã ãŠã§ã¢ããã³ãã©ã€ããŒã®ãœãŒã¹ããã¹ãwww.sony.net/Products/Linux/Audio/PRS-505.html
5.代æ¿ãã¡ãŒã ãŠã§ã¢openinkpot.org/wikiã®ãªãŒãã³ãããžã§ã¯ã
6.Working toolchain code.google.com/p/prs-plus/downloads/detail?name=arm-toolchain-sony-300.tar.gz&can=4&q=
7.æ¬ã«é¢ããç§ã®èŠçã«ã€ããŠã¯ãç§ã®LJã§èªãããšãã§ããŸãdlinyj.livejournal.com/tag/prs-505
PSç§ã¯éåžžã«æèœãªäººã§ã¯ãããŸãããç§ã¯ãã¿ã®ãããã©ã€ããŒããªã¡ãã»ãŒãžã«ãšãŠãæè¬ããŸãã
PPSãç§ãåãã§ã³ã¡ã³ããåãå ¥ããŸãã ç§ã¯ã¯ãŒã«ãªLinuxãœãããŠã§ã¢éçºè ã§ã¯ãããŸããããå®éã«1人ã«ãªããããšæã£ãŠããŸã:)ã
æçš¿ã«å¯Ÿããèè ãžã®æé«ã®æè¬ãå¿ããªãã§ãã ãã-ããã¯ã³ã¡ã³ãã§ãïŒ
UPDå¯ãŠããéã«ãããã¹ãå ¥åãšã³ã³ãœãŒã«ã®åé¡ã解決ããæ¹æ³ãèŠã€ããŸããã ãã¡ã€ã«ãããã¹ã圢åŒã§éä¿¡ãããã®ã劚ãããã®ã¯äœããããŸããã kinsoliããã®ããŒã¿ãåãå ¥ããããã«2ã€ã®ã³ãã³ããæž¡ãããã«ããã¡ã€ã«ãå°ãæžãæããå¿ èŠããããŸãã
startã¯è»¢éã®éå§ã§ã stopã¯çµäºã§ãã 次ã«ãéä¿¡ããããã¡ã€ã«ããœãŒã¹ã³ã³ãã¥ãŒã¿ãŒã§ãã€ãåäœã§èªã¿åãããã€ããããã«ïŒååã®ãã€ãïŒã«åå²ããŸãã ããã«ã¯ã0ãã15ã®å€ããŸãã¯0ããFã®16é²æ°ã®å€ãåããŸãããŸããæåã0ããFã«è»¢éããŸããæ¬ã®åŽé¢ã§ãããã¹ãããã«ããã€ãã«éå€æããŸãã 転éã®éå§ã¯ãéå§ãåæ¢ã®çµäºãæå³ããŸãã ã³ã³ãœãŒã«ã®ãšã³ãŒäŒéãå¶åŸ¡ããŸãã
æèŠæéã¯2åã«ãªããŸããã解決çã¯æãåçŽã§æçœã§ãã
ç§ã¯ããã°ã©ã ãæžãããã«èµ°ããŸããïŒ
UPD-UPD 5幎åŸã圌ã¯æ¬ãæèšã«å€ããããã°ã©ã ãæžããŸããã Github.com/dlinyj/sony_prs-505_clock githubã³ãŒã