【开源学习】Sifteo Cubes 之如何编译(LINUX)

2019-12-27 18:36发布

本帖最后由 Zigbee2012 于 2017-7-13 07:33 编辑

1.编译整个工程
        Step1: cd /home/aniu/01-workplace/thundercracker-v1.10/
        Step2:make clean
        Step3:make all  #默认会编译firmware(master cube) emulator launcher docs/doxygen等等
详情请看,顶层Makefile

2.如何编译单个目标
        这儿以STM32程序为例:
        Step1: cd /home/aniu/01-workplace/thundercracker-v1.10/firmware/master
        Step2:make clean
        Step3: make BOOTLOADABLE=1   # 必须设置环境变量BOOTLOADABLE=1使能bootloader
        其他类似!

3.如何生成USB下载的stf文件
        Step1:编译所有工程,在/home/aniu/01-workplace/thundercracker-v1.10/tools/fwdeploy目录下会生成工具fwdeploy
        Step2:cd /home/aniu/01-workplace/thundercracker-v1.10/tools/fwdeploy
        Step3: ./fwdeploy master_ v1.1.0.sft --fw-version v1.1.0 --fw 2 ../../firmware/master/master-stm32.bin ...
                master_ v1.1.0.sft-->输出文件名
                --fw-version v1.1.0-->软件版本
                --fw 2 ../../firmware/master/master-stm32.bin—>硬件版本号,及BIN文件路径
        Useage: fwdeploy <out.sft> --fw-version <version> --fw <hwrev fw.bin> ...
        Step4:更新固件 参考《3.USB升级管理(windows).pdf》


最后还是吹个牛:
整个sifteo cubes工程熟练掌握80%,月薪肯定上万;
没上万,私信我 ,当然有这个能力的都不屑于这个工资了


所有资料:https://www.amobbs.com/forum.php ... p;extra=#pid9850171
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
hyhezhen
2019-12-28 06:04
你们都有编译成功吗?下面是我这里的错误提示,环境是ubuntu12
In file included from ../../sdk/include/sifteo/abi/syscall.h:29:0,
                 from ../../sdk/include/sifteo/abi.h:42,
                 from ../../firmware/master/common/syscall_runtime.cpp:31:
../../firmware/master/common/syscall_runtime.cpp: In function 'uint32_t _SYS_version()':
../../sdk/include/sifteo/abi/types.h:181:37: error: lvalue required as unary '&' operand
#define _SYS_OS_VERSION_MASK        0xffffff
                                     ^
../../firmware/master/common/syscall_runtime.cpp:275:76: note: in expansion of macro '_SYS_OS_VERSION_MASK'
     return (SysInfo::HardwareRev << _SYS_HW_VERSION_SHIFT) | (OS_VERSION & _SYS_OS_VERSION_MASK);
                                                                            ^
../../firmware/master/common/syscall_runtime.cpp:276:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1plus: all warnings being treated as errors
make[2]: *** [../../firmware/master/common/syscall_runtime.stm32.o] 错误 1

一周热门 更多>