野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14222|回复: 6

mfgtools for linux如何安装?

[复制链接]
发表于 2020-1-6 14:47:47 | 显示全部楼层 |阅读模式
因为没用虚拟机而是在硬盘安装了ubunt,所以不方便来回切系统。于是想找linux下烧录imx6ull emmc的方法。
找到了mfgtools for linux,https://github.com/NXPmicro/mfgtools
按教程来:
  • git clone https://github.com/NXPmicro/mfgtools.git   (完成)
  • cd mfgtools  (完成)
  • sudo apt-get install libusb-1.0-0-dev libzip-dev libbz2-dev pkg-config cmake  (完成)
  • cmake .    (照做后提示找不到openssl,但是本机里有。有朋友给出解决办法:安装lib-ssl,不报错了,但有个警告)
  • make   (报错)

cmake . 的警告是:
Desktop:~/imx6ul/mfgtools$ cmake .
CMake Warning (dev) at libuuu/CMakeLists.txt:56:
  Syntax Warning in cmake code at column 159
  Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/any/imx6ul/mfgtools
找到libuuu/CMakeLists.txt的56行:
COMMAND sh -c 'cd ${CMAKE_CURRENT_SOURCE_DIR} && rm -f ${gitversion_h} && ./gen_ver.sh "${gitversion_h}.tmp" && mv -f "${gitversion_h}.tmp" "${gitvers    ion_h}"'

看不懂这个问题,忽略,执行make,报错:
/home/any/imx6ul/mfgtools/libuuu/buffer.cpp: In member function ‘int FileBuffer::reload(std::string, bool)’:
/home/any/imx6ul/mfgtools/libuuu/buffer.cpp:1203:35: error: no matching function for call to ‘atomic_init(std::atomic_int*, int)’
  atomic_init(&this->m_dataflags, 0);
...
/usr/include/c++/4.8/atomic:818:5: note:   template argument deduction/substitution failed:
/home/any/imx6ul/mfgtools/libuuu/buffer.cpp:1203:35: note:   ‘std::atomic_int {aka std::__atomic_base<int>}’ is not derived from ‘volatile std::atomic<_ITp>’
  atomic_init(&this->m_dataflags, 0);
                                   ^
libuuu/CMakeFiles/uuc_s.dir/build.make:91: recipe for target 'libuuu/CMakeFiles/uuc_s.dir/buffer.cpp.o' failed
make[2]: *** [libuuu/CMakeFiles/uuc_s.dir/buffer.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'libuuu/CMakeFiles/uuc_s.dir/all' failed
make[1]: *** [libuuu/CMakeFiles/uuc_s.dir/all] Error 2
Makefile:129: recipe for target 'all' failed


请教,这个错误该如何解决?在Linux下还有其他烧录办法吗?手头没有能用的tf卡了,所以想烧到emmc里。





回复

使用道具 举报

 楼主| 发表于 2020-1-6 15:06:04 | 显示全部楼层
以上错误是g++版本的问题,刚才是4.8.5版本,那个原子操作的函数好像到4.9以上才支持。
切换到g++7.4.0,再make,又有新的报错:
../libuuu/libuuc_s.a(buffer.cpp.o):在函数‘FSBackFile::get_file_timesample(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long*)’中:
buffer.cpp.text+0xa81):对‘set_last_err_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)’未定义的引用
../libuuu/libuuc_s.a(buffer.cpp.o):在函数‘FileBuffer::reload(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)’中:
buffer.cpp.text+0x1756):对‘set_last_err_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)’未定义的引用
../libuuu/libuuc_s.a(buffer.cpp.o):在函数‘FSHttp::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::shared_ptr<FileBuffer>, bool)’中:
buffer.cpp.text+0x1fa5):对‘set_last_err_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)’未定义的引用
../libuuu/libuuc_s.a(buffer.cpp.o):在函数‘FSZip::exist(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)’中:
buffer.cpp.text+0x253b):对‘set_last_err_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)’未定义的引用
../libuuu/libuuc_s.a(buffer.cpp.o):在函数‘FileBuffer::request_data(unsigned long)’中:
buffer.cpp.text+0x3889):对‘set_last_err_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)’未定义的引用
../libuuu/libuuc_s.a(buffer.cpp.o):buffer.cpp.text+0x38cd): 跟着更多未定义的参考到 set_last_err_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)
collect2: error: ld returned 1 exit status
uuu/CMakeFiles/uuu.dir/build.make:194: recipe for target 'uuu/uuu' failed
make[2]: *** [uuu/uuu] Error 1
CMakeFiles/Makefile2:140: recipe for target 'uuu/CMakeFiles/uuu.dir/all' failed
make[1]: *** [uuu/CMakeFiles/uuu.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-7 14:45:10 | 显示全部楼层
问题已解决,make clean后再make,就可以通过编译了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-10 09:45:39 | 显示全部楼层
本帖最后由 Any 于 2020-1-10 09:53 编辑

用uuu命令可以烧录uboot到ddr,但尝试烧录到emmc里,总是不成功,也不提示失败。

终端信息:

any@Any-Desktop:~/imx6ul/ebf_6ull_buildroot/output/images$ ~/imx6ul/mfgtools/uuu/uuu -b emmc u-boot.imx
uuu (Universal Update Utility) for nxp imx chips -- lib1.3.124-0-gee3f09a
Success 0    Failure 0                                                                 
1:31     1/ 1 [=================100%=================] SDP: boot -f u-boot.imx      


串口信息:
U-Boot 2016.03 (Jan 08 2020 - 16:59:37 +0800)
CPU:   Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 46C
Reset cause: POR
Board: MX6ULL 14x14 EVK
I2C:   ready
DRAM:  512 MiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1   
MMC: no card present                                             
*** Warning - MMC init failed, using default environment
In:    serial
Out:   serial                                                  
Err:   serial
MMC: no card present
Net:   FEC1
Error: FEC1 address not set.
Boot from USB for mfgtools
Use default environment for mfgtools Run bootcmd_mfg: run mfgtool_args;bootz ${loadaddr} ${initrd_addr;
Hit any key to stop autoboot:  0                                 
Bad Linux ARM zImage magic!
=>

回复 支持 反对

使用道具 举报

发表于 2020-1-13 11:08:47 | 显示全部楼层
我也被这个搞的头大 然后使用的tf卡就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-14 08:55:17 | 显示全部楼层
本帖最后由 Any 于 2020-1-14 08:59 编辑
chenxuy 发表于 2020-1-13 11:08
我也被这个搞的头大 然后使用的tf卡就行了

有空交流下啊,如果这个能用的话,就比win下的mfgtools方便了。
之前ubboot启动信息是not card present,是我Uboot配置错了。现在能检测到emmc了,不过mmc设备有0和1两个设备,而现在用到的是mmc1,不知道是不是这个原因。
还有,看输出信息:SDP:boot u-boot.imx,是不是烧录进去后卡在启动uboot这里了?板子没有成功启动烧录的uboot,从而重新进入了usb模式?

关键是不知道用Uuu烧录成功的信息是什么样的,不好对比。

我手头有3个坏的黑色tf卡了,有点怕了。新买的还没到,今天试试win下的mfgtools吧。
回复 支持 反对

使用道具 举报

发表于 2020-2-6 21:20:33 | 显示全部楼层
你好,clone下来的文件夹内没有makefile,make一直报错,大伙有啥建议吗,谢谢~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-6-6 13:37 , Processed in 0.033189 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表