AnsweredAssumed Answered

blfwkdll.dll could not be called on some PC.

Question asked by Hanson He Employee on Mar 22, 2017
Latest reply on Mar 22, 2017 by Y.t. Zhang
We need to fix the PC which do not install Visual studio, why blfwkdll.dll could not be called on some PC? Thanks.
Below is the test step description.
 
您好!
        工具详情:
            工具名:KL81下载工具
            开发环境:VS2015
            调用DLL:blfwkdll.dll
            调用的接口: 
                    1)  连接接口 :Updater::Updater(PeripheralConfig *config)
                    2)  下载接口 : uint32_t flashFirmware(std::string *filename, uint32_t baseAddress);
 电脑1(环境vs2015,vs2012,vs2008,vs2010):
            在本机中测试KL81下载工具,可以调用连接接口,下载接口,并实现下载(只考虑一对一下载)
 环境无vs版本的电脑2:
            测试发现KL81下载工具,在调用连接接口和下载接口的时候出现参数传进和传入的值不同,故下载不成功。
 装有VS2010 的电脑3: 测试发现一切正常下载
KinetisFlashTool.exe  此mfc应用程序是Visual Studio 2015 - Windows XP (v140_xp)  支持C++11标准以后
blfwkdll.dll                    此动态库也是Visual Studio 2015 - Windows XP (v140_xp)    
KL81下载工具.exe    此mfc应用程序也是 Visual Studio 2015 - Windows XP (v140_xp)      采用静态库使用mfc   运行库(多线程MT)
尝试解决办法1:电脑2 (无vs版本的电脑)只装vs2015运行库环境,未解决,正在尝试装完整的vs2015
尝试解决办法2:将编译器版本降低试用无果
        原因:blfwkdll.dll使用低版本的编译器Visual Studio 2010 (v100) 编译(支持C++11标准以前,不支持C++11标准以后),出现许多编译错误,C++语法有不同之处,blfwkdll.dll  采用C++类封装实现,改动困难。
总结:问题出现在在环境无vs版本的电脑2上使用 KL81下载工具.exe调不到blfwkdll.dll函数,或者是出现错误。
           KinetisFlashTool.exe工具在环境无vs版本的电脑2上可以正常调用并实现下载。
KL81是1-16的烧写工具,KinetisFlashTool.exe是烧单一芯片的工具。

Outcomes