This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DLP NIRScan二次开发源码重新生成dlp_nirscan.bin文件

Other Parts Discussed in Thread: AM3358

你好:

      如题。

     我有一块DLP NIRScan的板子,想要实现一些dlp_nirscan.bin未实现的功能,我想了解一下,有没有生成dlp_nirscan.bin的详细文档?

     我初步实现了对dlp_nirscan等源文件和头文件的修改,但在生成dlp_nirscan.bin上,不是很清楚。此外,我已安装ti-sdk-am335x-evm-06.00.00.00-Linux,对于生成dlp_nirscan.bin是否可以在已安装的ti-sdk-am335x-evm-06.00.00.00-Linux中直接生成,对于其交叉编译环境是否有特定要求?还是说,可以像普通程序一样,利用任意的交叉编译环境即可?

    望告知,详细信息。

   谢谢。

  • 这个系统是基于Sitara am3358.因此整个编译过程安装am3358来即可。代码在http://www.ti.com/nirscan-linux-bundle-v2。

    如果不熟悉交叉编译过程,请留下联系方式,我们可以联系Sitara工程师协助。

  • 您好,十分感谢您的回复。

    我按照你所说的进行了尝试(我的交叉编译链采用的是:arm-linux-gcc-4.4.3.tar.gz,环境变量是:export PATH=$PATH:/home/guwz/ti-arm/opt/FriendlyARM/toolschain/4.4.3/bin)。在example-applications/dlp_nirscan目录下,进行make时,提示没有libudev.h头文件,我按照README.txt中的提示,安装libudev-dev后,重新make时,提示找不到某些文件,如图片所示。

    我在网上进行查找一些解决方法进行尝试,但是最终没能成功,所以,麻烦你帮我看一下,这具体是哪方面的问题,具体是我的libudev的版本不对,还是一些参数没有配置好,或是其他的方面?谢谢你了。

    我的邮箱是:guwz2014@163.com

    再次感谢。

  • 我们已经请求Sitara 工程师解答.静候佳音.

  • 具体的搭建请您参考 http://software-dl.ti.com/sitara_linux/esd/AM335xSDK/06_00_00_00/index_FDS.html,其中有详细的文档 

  • 您提到

            另外,可能是因为我没有表述清楚我的问题,我感觉您理解的可能和我要问的问题,有些许出入。我想问的是,在/Texas Instruments-DLP/NIRscan_2.0.0/Sitara_Linux_SDK_06.00.00/example-applications/dlp_nirscan这个路径下保存的是dlp_nirscan.bin的源码,我想要把他修改并重新编译链接成新的dlp_nirscan.bin,在编译链接的过程中,一开始提示,找不到libudev.h头文件,我查看了其目录下的所有readme.txt文件,发现是由于缺少libudev-dev所致,按照知道安装libudev-dev后,编译通过了,每个.c文件生成了对应的.o文件,但是在链接生成dlp_nirscan.bin时,提示linudev.h中的函数都是undefined reference ,例如undefined reference to `udev_new',我想知道是,这种问题,可能是由于哪种问题导致,其解决方案是什么。

    我的理解,这里的头文件应该在ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/armv7ahf-vfp-neon-3.2-oe-linux-gnueabi/usr/include中找libudev.h 因为您这里是交叉编译,我给您的文档就是告诉您怎么找到对应的交叉编译器。

  • 您好,

         谢谢您耐心的回答,现在问题已经解决了,可以重新编译生成dlp_nirscan.bin二进制文件了。

        我还有一个疑惑,想要向您请教一下,我重新编译后的dlp_nirscan.bin文件的大小是137KB,而/Texas Instruments-DLP/NIRscan_2.0.0/target_file_system/usr/bin中给出的dlp_nirscan.bin的大小确实1.6MB,我也曾把DLP NIRScan中的dlp_nirscan.bin的大小查看了一下,也是137KB。对于这一点,我不是很清楚,为什么重新生成的和TI给出的/Texas Instruments-DLP/NIRscan_2.0.0/target_file_system/usr/bin中的dlp_nirscan.bin的大小会不一样。其实这已经不算一个问题了,这一点不防碍使用,但是我想了解一下原因。谢谢你了



  • 十分感谢您的帮助,我的问题已经基本解决了,谢谢您

  • 您好,您之前的帖子中有说到:

    在/Texas Instruments-DLP/NIRscan_2.0.0/Sitara_Linux_SDK_06.00.00/example-applications/dlp_nirscan这个路径下保存的是dlp_nirscan.bin的源码

    请问您这个文件是在哪里下载的?我在官网下载了DLP_NIRSCAN MicroSD Image for windows,运行解压之后在/Texas Instruments-DLP/NIRscan_2.0.0这个目录下只看到了一个镜像文件,查看镜像文件之后,并没有看到您所说的Sitara_Linux_SDK_06.00.00/example-applications/dlp_nirscan这个目录,您可以说一下这个文件是在哪里下载的吗?

    另外,您是将dlp_nirscan这个文件夹下的代码修改之后,生成.bin文件,重新生成镜像文件烧录进去就可以使用吗?还是说不更改这个镜像,将.bin文件放进SD卡中,手动运行?在进行二次开发时,是否只需要更改dlp_nirscan这个文件夹中的内容,其他的都不用修改?

    期待您的回复,万分感谢!

  • 1. 代码下载: 代码在http://www.ti.com/nirscan-linux-bundle-v2

    2. 软件更新:第41页.

    http://www.ti.com/lit/ug/dlpu016b/dlpu016b.pdf

  • 您好,请问您所说的这个nirscan-linux-bundle-v2跟DLP_NIRscan microSD image for windows的区别是什么?现在贵公司的网站好像在做维护,我无法下载nirscan-linux-bundle-v2这个文件

  • 十分感谢您的回复,我的问题已解决,谢谢!

  • 一个用于Linux平台;一个用于windows 平台。