blfwkdll.dll could not be called on some PC.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

blfwkdll.dll could not be called on some PC.

1,340 Views
hansonhe
NXP Employee
NXP Employee
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是烧单一芯片的工具。
0 Kudos
Reply
1 Reply

1,112 Views
eatonzhang
NXP Employee
NXP Employee

您好,

       根据测试结果来看,您的工具可以正确运行,但是无法脱离VS编译环境单独运行。

       如果您希望工具可以脱离VS环境,请您尝试对工程做如下改动。

           请在MFC工程中的Configuration Properties->General->Use of MFC选项中选择Use MFC in a Static Library.

           此外Configuration Properties->General->Common Language Runtime Support中请选择 No Common Language Runtime Support.

此致 

0 Kudos
Reply