cmake_minimum_required(VERSION 3.6)
cmake_policy(SET CMP0048 NEW)
set(SOC_MODE 0)
if("${PLATFORM}" STREQUAL "soc")
set(SOC_MODE 1)
endif()
set(SYNC_API_INT_MODE 1)
set(FW_SIMPLE 0)
set(PCIE_MODE_ENABLE_CPU 1)
if(${SOC_MODE} EQUAL 1)
set(TARGET_PROJECT "sg_aarch64_soc_device")
set(DKMS_NAME "bmtpu")
set(PCIE_MODE_ENABLE_CPU 0)
set(DRIVER_BIN_TARGET "${TARGET_PROJECT}/${DKMS_NAME}.ko")
add_custom_command(OUTPUT ${DRIVER_BIN_TARGET}
COMMAND make SOC_MODE=${SOC_MODE}
PLATFORM=asic
SYNC_API_INT_MODE=${SYNC_API_INT_MODE}
TARGET_PROJECT=${TARGET_PROJECT}
FW_SIMPLE=${FW_SIMPLE}
PCIE_MODE_ENABLE_CPU=${PCIE_MODE_ENABLE_CPU}
SOC_LINUX_DIR=${SOC_LINUX_DIR}
CLEAN_BUILD=1
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/driver)
else()
set(TARGET_PROJECT "sg_pcie_device")
set(DKMS_NAME "bmsophon")
endif()
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/debian")
set(DKMS_CONF_TARGET "dkms.conf")
add_custom_command(OUTPUT ${DKMS_CONF_TARGET}
# setup dkms.conf
COMMAND rm -f dkms.conf
COMMAND echo "PACKAGE_NAME=\"${DKMS_NAME}\"" > dkms.conf
COMMAND echo "PACKAGE_VERSION=${PROJECT_VERSION}" >> dkms.conf
COMMAND echo "BUILT_MODULE_NAME[0]=\"${DKMS_NAME}\"" >> dkms.conf VERBATIM
COMMAND echo "MAKE[0]=\"make SOC_MODE=${SOC_MODE}"
"PLATFORM=asic"
"SYNC_API_INT_MODE=${SYNC_API_INT_MODE}"
"TARGET_PROJECT=${TARGET_PROJECT}"
"FW_SIMPLE=${FW_SIMPLE}"
"PCIE_MODE_ENABLE_CPU=${PCIE_MODE_ENABLE_CPU}"
"-C \${kernel_source_dir} M=\${dkms_tree}/\${PACKAGE_NAME}/\${PACKAGE_VERSION}/build \"" >> dkms.conf
COMMAND echo "CLEAN=\"make -C \${kernel_source_dir} M=\${dkms_tree}/\${PACKAGE_NAME}/\${PACKAGE_VERSION}/build clean\"" >> dkms.conf
COMMAND echo "DEST_MODULE_NAME[0]=\"${DKMS_NAME}\"" >> dkms.conf
COMMAND echo "DEST_MODULE_LOCATION[0]=\"/updates\"" >> dkms.conf
COMMAND echo "AUTOINSTALL=\"yes\"" >> dkms.conf
# setup DEB scripts
# post-install
COMMAND echo "if [ ! -d \"/lib/firmware\" ]; then mkdir -p /lib/firmware; fi" > postinst
COMMAND echo "ln -s /opt/sophon/driver-${CPACK_PACKAGE_VERSION}/a53lite_pkg.bin /lib/firmware/bm1684x_firmware.bin" >> postinst
COMMAND echo "ln -s /opt/sophon/driver-${CPACK_PACKAGE_VERSION}/bm1684_ddr.bin_v3.1.2-3dfbe057-221128 /lib/firmware/bm1684_ddr_firmware.bin" >> postinst
COMMAND echo "ln -s /opt/sophon/driver-${CPACK_PACKAGE_VERSION}/bm1684_tcm.bin_v3.1.2-3dfbe057-221128 /lib/firmware/bm1684_tcm_firmware.bin" >> postinst
COMMAND echo >> postinst
COMMAND echo "if [ -e \"/usr/share/misc/pci.ids\" ]; then" >> postinst
COMMAND echo "used_path=/usr/share/misc/pci.ids" >> postinst
COMMAND echo "elif [ -e \"/usr/share/hwdata/pci.ids\" ]; then" >> postinst
COMMAND echo "used_path=/usr/share/hwdata/pci.ids" >> postinst
COMMAND echo "else [ -e \"/usr/share/lshw/pci.ids\" ];" >> postinst
COMMAND echo "used_path=/usr/share/lshw/pci.ids" >> postinst
COMMAND echo "fi" >> postinst
COMMAND echo "dir_name=$(dirname $used_path)" >> postinst
COMMAND echo "used_dir=\${dir_name##*/}" >> postinst
COMMAND echo "sed -i '/Bitmain/d' /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "sed -i '/Sophgo/d' /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "sed -i '/SC3 with BM1682/d' /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "sed -i '/BM1684/d' /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "echo \"1e30 Bitmain Technologies Inc.\" >> /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "echo \" 1682 SC3 with BM1682, Sophon Series Deep Learning Accelerator\" >> /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "echo \" 1684 BM1684, Sophon Series Deep Learning Accelerator\" >> /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "echo \"1f1c Sophgo Technologies Inc.\" >> /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "echo \" 1686 BM1684X, Sophon Series Deep Learning Accelerator\" >> /usr/share/$used_dir/pci.ids" >> postinst
COMMAND echo "cp -r /opt/sophon/driver-${CPACK_PACKAGE_VERSION} /usr/src/${DKMS_NAME}-${PROJECT_VERSION}" >> postinst
COMMAND echo "dkms add -m ${DKMS_NAME} -v ${PROJECT_VERSION}" >> postinst
COMMAND echo "dkms build -m ${DKMS_NAME} -v ${PROJECT_VERSION} && dkms install -m ${DKMS_NAME} -v ${PROJECT_VERSION} || true" >> postinst
COMMAND echo "modprobe -r ${DKMS_NAME}" >> postinst
COMMAND echo "modprobe ${DKMS_NAME}" >> postinst
COMMAND echo "pcinum_1684=`lspci | grep 1684 -c`" >> postinst
COMMAND echo "pcinum_1686=`lspci | grep 1686 -c`" >> postinst
COMMAND echo "pcinum=`expr $pcinum_1684 + $pcinum_1686`" >> postinst
COMMAND echo "devicenum=`ls /dev/ | grep bm-sophon -c`" >> postinst
COMMAND echo "if [ \"$pcinum\" -ne \"$devicenum\" ]" >> postinst
COMMAND echo "then" >> postinst
COMMAND echo " echo \"sophon driver install error happened, please see dmesg for more infomation\"" >> postinst
COMMAND echo "fi" >> postinst
# pre-remove
COMMAND echo "modprobe -r ${DKMS_NAME}" > prerm
COMMAND echo "dkms remove -m ${DKMS_NAME} -v ${PROJECT_VERSION} --all || true" >> prerm
COMMAND echo "rm -rf /usr/src/${DKMS_NAME}-${PROJECT_VERSION}" >> prerm
COMMAND echo >> prerm
COMMAND echo "rm -f /lib/firmware/bm1684x_firmware.bin" >> prerm
COMMAND echo "rm -f /lib/firmware/bm1684_ddr_firmware.bin" >> prerm
COMMAND echo "rm -f /lib/firmware/bm1684_tcm_firmware.bin" >> prerm
COMMAND echo "devicenum=`ls /dev/ | grep bm-sophon -c`" >> prerm
COMMAND echo "if [ 0 -ne \"$devicenum\" ]" >> prerm
COMMAND echo "then" >> prerm
COMMAND echo " echo \"sophon driver may busy or something wrong, please stop all application that use bmsophon.ko.Then run the command 'sudo rmmod bmsophon.ko' to remove the driver.\"" >> prerm
COMMAND echo "fi" >> prerm
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/debian
)
# only soc mode driver code and binary will be both released
if(${SOC_MODE} EQUAL 1)
add_custom_target(driver
DEPENDS ${DKMS_CONF_TARGET}
DEPENDS ${DRIVER_BIN_TARGET})
else()
add_custom_target(driver DEPENDS ${DKMS_CONF_TARGET})
endif()
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/debian/${DKMS_CONF_TARGET}
DESTINATION ../driver-${CPACK_PACKAGE_VERSION}
COMPONENT driver)
if(${SOC_MODE} EQUAL 1)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DRIVER_BIN_TARGET}
DESTINATION ./data
COMPONENT libsophon)
endif()
file(GLOB firmware_files ${CMAKE_SOURCE_DIR}/driver/bm1684*.bin_*)
foreach(file ${firmware_files})
install(FILES ${file}
DESTINATION ./data
COMPONENT libsophon)
endforeach()
install(FILES ${CMAKE_SOURCE_DIR}/driver/a53lite_pkg.bin DESTINATION ./data COMPONENT libsophon)
# copy driver code
file(GLOB driver_files ${CMAKE_SOURCE_DIR}/driver/*)
foreach(file ${driver_files})
if(IS_DIRECTORY ${file})
install(DIRECTORY ${file}
DESTINATION ../driver-${CPACK_PACKAGE_VERSION}
COMPONENT driver)
else()
install(FILES ${file}
DESTINATION ../driver-${CPACK_PACKAGE_VERSION}
COMPONENT driver)
endif()
endforeach()
没有合适的资源?快使用搜索试试~ 我知道了~
libsophon-soc-0.4.9-LTS-aarch64.tar.gz
需积分: 5 1 下载量 197 浏览量
2024-04-12
14:39:07
上传
评论
收藏 52.85MB GZ 举报
温馨提示
共455个文件
h:166个
c:64个
so:17个
libsophon_soc_0.4.9-LTS_aarch64.tar.gz+AI边缘端设备+程序员+SOC模式+AARCH64
资源推荐
资源详情
资源评论
收起资源包目录
libsophon-soc-0.4.9-LTS-aarch64.tar.gz (455个子文件)
libbmrt.so.1.0 2.28MB
libbmcv.so.0 1.68MB
libbmvideo.so.0 727KB
libyuv.so.0 505KB
libbmlib.so.0 154KB
libbmvppapi.so.0 116KB
libvpp.so.0 108KB
libbmjpulite.so.0 105KB
libbmvpulite.so.0 104KB
libbmjpuapi.so.0 54KB
libbmvpuapi.so.0 46KB
libbmion.so.0 21KB
libbmcv.so.0.7.1 1.68MB
libbmvideo.so.0.7.1 727KB
libyuv.so.0.7.1 505KB
libbmvppapi.so.0.7.1 116KB
libvpp.so.0.7.1 108KB
libbmjpulite.so.0.7.1 105KB
libbmvpulite.so.0.7.1 104KB
libbmjpuapi.so.0.7.1 54KB
libbmvpuapi.so.0.7.1 46KB
libbmion.so.0.7.1 21KB
bm1684_ddr.bin_v3.1.2-3dfbe057-221128 1.06MB
bm1684_ddr.bin_v3.1.2-3dfbe057-221128 1.06MB
bm1684_tcm.bin_v3.1.2-3dfbe057-221128 428KB
bm1684_tcm.bin_v3.1.2-3dfbe057-221128 428KB
bm1684x.bin_v3.1.3-aea73efe-221222 1.11MB
bm1684x.bin_v3.1.3-aea73efe-221222 1.11MB
libcpuop.so.0.4.9 1.07MB
libusercpu.so.0.4.9 40KB
libbmcv.a 1.98MB
libbmodel.a 975KB
libyuv.a 617KB
libvpp.a 143KB
a53lite_dl_test 16KB
a53lite_dl_test_key 16KB
a53lite_gdma_loadfile 22KB
a53lite_gdma_loadmod 21KB
a53lite_gdma_multithread 23KB
a53lite_memcpy_test 18KB
a53lite_repeat_loadlib 16KB
a53lite_pkg.bin 9MB
a53lite_pkg_debug.bin 9MB
a53lite_pkg.bin 9MB
rgb24.bin 5.93MB
yuv444p.bin 5.93MB
rgbp.bin 5.93MB
yuv422p.bin 3.96MB
gray.bin 1.98MB
chagall_dec.bin 271KB
chagall.bin 259KB
bm-smi 240KB
bm_firmware_update 187KB
bm_test 30KB
bmjpegdec 22KB
bmjpegenc 22KB
bmjpegmulti 40KB
bmrt_test 185KB
bmvpuenc 37KB
vpu.c 97KB
bm_debug.c 85KB
bm1684_pld_ddr.c 84KB
bm_attr.c 82KB
bm1684_pcie.c 53KB
bm_fops.c 38KB
bm1682_ddr.c 34KB
bm_api.c 33KB
bm_pcie_drv.c 33KB
bm1684_vpp.c 32KB
i2c.c 31KB
bm1682_smmu.c 29KB
bm1684_smmu.c 27KB
bm_msgfifo.c 27KB
bm1684_lpddr4.c 25KB
bm_genalloc.c 23KB
bm1684_ce.c 20KB
bm_io.c 20KB
bm_memcpy.c 19KB
bm1684_jpu.c 19KB
bm_ctl.c 18KB
bm1684_clkrst.c 18KB
bm1684_card.c 16KB
spi.c 16KB
bm_boot_info.c 15KB
bm1686_vpp.c 15KB
bm_bgm.c 12KB
bm_soc_drv.c 12KB
bm_gmem.c 12KB
bm_napi.c 12KB
bm_pt.c 11KB
bm_fw.c 11KB
bm1684_cdma.c 8KB
bm_drv.c 7KB
sg_comm.c 7KB
bm1684_gmem.c 7KB
console.c 6KB
bm_trace.c 6KB
bm1684_irq.c 6KB
bm1684_ddr.c 5KB
bm_card.c 5KB
共 455 条
- 1
- 2
- 3
- 4
- 5
资源评论
滴答滴答滴嗒滴
- 粉丝: 577
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功