El Capitan flashrom 1.0으로

4665 단어 FTDIflashromMac
El Capitan으로 구축flashrom의 1.0을 사용해 보십시오.
1.0의 Mac에서directhw라는 코드를 사용했기 때문에 이clone을 사용합니다.
directhw는 프레임워크로 구축하는 것 같지만 프레임워크의 구축은 xcode가 필요하지만 Command Line Tools만 넣었기 때문에 cc로dylib로 구축합니다.
$ cd directhw/macosx/DirectHW/
$ cc -c -fPIC DirectHW.c
$ cc -shared -framework IOKit -install_name @executable_path/libDirectHW.dylib -o libDirectHW.dylib DirectHW.o
완료된 libDirectHW.dylib 및 DirectHWh를 flashrom의 원본 디렉터리로 복사합니다.
libusb.h를 지정하는 path는 libFTDI도 구축합니다.cmake를 넣지 않았기 때문에 손힘으로 구축합니다.
$ cd src
$ sed 's/@MAJOR_VERSION@/1/;s/@MINOR_VERSION@/4/;s/@.*@//' ftdi_version_i.h.in > ftdi_version_i.h
$ cc -I../../ -c *.c
$ ar r libftdi.a *o
이것도libftdi입니다.a와 ftdi.h를 flashrom의 원본 디렉터리로 복사합니다.
libusb 일반configure make 하면libusb/.libs/에서 dylib를 완성합니다.libusb.h와libusb-1.0.dylib를 libusb로 복사합니다.dylib부터 기호 링크를 붙여주세요.
libusb-1.0.dylib도 path를 같은 디렉터리에 다시 씁니다.
$ install_name_tool -id @executable_path/libusb-1.0.dylib libusb-1.0.dylib
다음은 플래시롬의 Makefile과 hwaccess입니다.잠깐만요.
$ git diff
diff --git a/Makefile b/Makefile
index b13cf7e..4b198bb 100644
--- a/Makefile
+++ b/Makefile
@@ -1007,7 +1007,8 @@ PCILIBS += -l$(shell uname -m)
 else
 ifeq ($(TARGET_OS), Darwin)
 # DirectHW framework can be found in the DirectHW library.
-PCILIBS += -framework IOKit -framework DirectHW
+#PCILIBS += -framework IOKit -framework DirectHW
+PCILIBS += -framework IOKit -l DirectHW
 endif
 endif
 endif
diff --git a/hwaccess.h b/hwaccess.h
index af7054b..25eb7c6 100644
--- a/hwaccess.h
+++ b/hwaccess.h
@@ -179,7 +179,8 @@ cpu_to_be(64)

 #if defined(__MACH__) && defined(__APPLE__)
     /* Header is part of the DirectHW library. */
-    #include <DirectHW/DirectHW.h>
+//    #include <DirectHW/DirectHW.h>
+    #include "DirectHW.h"
 #endif

   /* This is the usual glibc interface. */
이렇게 하면 구축할 수 있다.
$ make CONFIG_ENABLE_LIBPCI_PROGRAMMERS=no CONFIG_ENABLE_LIBUSB0_PROGRAMMERS=no CFLAGS=-I. LDFLAGS=-L.
Apple 드라이버를 뜯어보고 시도하지 않으면 동작할 수 없습니다.
$ sudo kextunload /System/Library/Extensions/AppleUSBFTDI.kext
똑바로 움직여.
$ ./flashrom -p ft2232_spi:type=232H 
flashrom p1.0-125-g3432349-dirty on Darwin 15.6.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Found Macronix flash chip "MX25L1605" (2048 kB, SPI) on ft2232_spi.
Found Macronix flash chip "MX25L1605A/MX25L1606E/MX25L1608E" (2048 kB, SPI) on ft2232_spi.
Found Macronix flash chip "MX25L1605D/MX25L1608D/MX25L1673E" (2048 kB, SPI) on ft2232_spi.
Multiple flash chip definitions match the detected chip(s): "MX25L1605", "MX25L1605A/MX25L1606E/MX25L1608E", "MX25L1605D/MX25L1608D/MX25L1673E"
Please specify which chip definition to use with the -c <chipname> option.
자세히 조사하지는 않았지만 1.0의 ftdi는 매우 빠르게 변했다.2M의 읽기는 0.9.7(MacBook Air Original/10.6)은 18초, 1.0(Mac mini 2010/10.11)은 3초이다.Mac과 OS가 다르기 때문에 일률적으로 논할 수 없습니다.
나는 이전에 사용한 버전에 없는ch341a가 지원하는 라이터를 얻으려고 했다.

ZIF 소켓 오른쪽의 8핀은 I2C EEPROM, 왼쪽의 8핀은 SPI Flash입니다.flashrom은 SPI Flash만 지원합니다.ZIF 콘센트는 TFXTOOL입니다.^^;
$ ./flashrom -p ch341a_spi -c MX25L6405 -r test.bin
이 8M의 읽기는 68초이기 때문에 좀 느리다.
병렬 플래시도 문제없이 사용했습니다.
$ ./flashrom  -p serprog:dev=/dev/cu.usbserial-A7004BTR:57600
flashrom p1.0-125-g3432349-dirty on Darwin 15.6.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Calibrating delay loop... OK.
Some requested serial options did not stick, continuing anyway.
serprog: Programmer name is "ATMegaXX8 SFR"
Found Eon flash chip "EN29F002(A)(N)T" (256 kB, Parallel) on serprog.
No operations were specified.
flashrom은 configure를 사용하지 않고 make로만 하는 정책입니다.예전에는 configure가 좋다고 생각했지만 요즘은 문제가 많아서 한 가지 방법으로는 있어요.
사용 방법은여기
1.2도 같은 절차에 따라 구축되었다.

좋은 웹페이지 즐겨찾기