我設法做最後的交叉編譯串行口,採用最醜陋的方法:)下面是工作的方法:
在本機x86 linux機器上, cd <your work area>
設置的cross_compiler工具環境變量:
export AR=arm-marvell-linux-gnueabi-ar
export CC=arm-marvell-linux-gnueabi-gcc
export CXX=arm-marvell-linux-gnueabi-g++
export LINK=arm-marvell-linux-gnueabi-g++
export npm_config_arch=arm
export npm_config_nodedir=/home/ysoni/node
現在運行NPM安裝。請注意,由於npm安裝堅持要編譯64位軟件包,所以我必須手動提供--package_name,--hosted_path等。我從serialport網站獲得了這些參數。
npm install serialport --arch=x64 --target_arch=arm --remote_path=./serialport/v1.4.0/Release/ --package_name=node-v11-linux-ia32.tar.gz --staged_tarball=build/stage/serialport/v1.4.0/Release/node-v11-linux-ia32.tar.gz --hosted_path=https://node-serialport.s3.amazonaws.com/serialport/v1.4.0/Release/ --hosted_tarball=https://node-serialport.s3.amazonaws.com/serialport/v1.4.0/Release/node-v11-linux-ia32.tar.gz
將生成一個包含.bin和serialport文件夾的node_modules目錄。 現在,將node_modules的內容複製到您的target_platform。 我寫了一個示例.js腳本來測試是否可以打開串口設備。腳本必須與node_modules位於同一目錄中。
預計必須有最後一個路障!奇怪的是,我不得不做一些重命名。這可能不是您的平臺所必需的:
busybox mv node_modules/serialport/build/serialport/v1.4.2/Release/node-v11-linux-arm/ node_modules/serialport/build/serialport/v1.4.2/Release/v8-3.11-linux-arm/
最後,我可以打開串口和準備好的內容。我真的希望有更簡單的方法!
快樂黑客!
感謝您的信息尼古拉斯! –