探索:泰山众筹模式系统开发逻辑原理方案分析(成熟源码)

简介: 探索:泰山众筹模式系统开发逻辑原理方案分析(成熟源码)

迁移华为的liteOS到STM32F4的开发板上,按照官方的步骤修改makefile后报错:

arm-none-eabi-gcc.exe: warning: '-x assembler-with-cpp' after last input file has no effect
arm-none-eabi-gcc.exe: fatal error: no input files
compilation terminated.
复制
解决过程
根据Makefile的报错地点可以看出是在对.S文件的编译过程中找不到文件所致,将结果打印出来:

arm-none-eabi-gcc -x assembler-with-cpp -c -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -DUSE_STDPERIPH_DRIVER -DSTM32F407xx -DSTM32F40_41xxx -I./Inc -IProjectDrivers/Inc -IProjectDrivers/Inc/Inc -IProjectDrivers/Inc/CORE -IDrivers/CMSIS/include -I./Src/SYSTEM -I./Src/MALLOC -I./ProjectDrivers/HARDWARE -IThirdParties/LWIP -I./ThirdParties/LWIP -I./ThirdParties/LWIP/arch -I./ThirdParties/LWIP/lwip_app -I./ThirdParties/LWIP/lwip_app/lwip_comm -I./ThirdParties/LWIP/lwip_app/tcp_server_demo -I./ThirdParties/LWIP/lwip_app/udp_demo -I./ThirdParties/LWIP/lwip-1.4.1 -I./ThirdParties/LWIP/lwip-1.4.1/src -I./ThirdParties/LWIP/lwip-1.4.1/src/api -I./ThirdParties/LWIP/lwip-1.4.1/src/core -I./ThirdParties/LWIP/lwip-1.4.1/src/core/ipv4 -I./ThirdParties/LWIP/lwip-1.4.1/src/include -I./ThirdParties/LWIP/lwip-1.4.1/src/include/ipv4 -I./ThirdParties/LWIP/lwip-1.4.1/src/include/ipv4/lwip -I./ThirdParties/LWIP/lwip-1.4.1/src/include/lwip -I./ThirdParties/LWIP/lwip-1.4.1/src/include/netif -I./ThirdParties/LWIP/lwip-1.4.1/src/netif -I./utils/datastructure -I./utils/tools -I ./Middlewares/LiteOS/arch/arm/arm-m/include -I ./Middlewares/LiteOS/arch/arm/common/cmsis -I./OS_CONFIG -I ./Middlewares/LiteOS/kernel/base/include -I ./Middlewares/LiteOS/kernel/extended/include -I ./Middlewares/LiteOS/kernel/include -O1 -Wall -Wno-pointer-sign -Wno-missing-braces -Wno-format -Wno-address -Wno-unused-but-set-variable -s -fdata-sections -ffunction-sections -g -gdwarf-2 --specs=nano.specs --specs=nosys.specs -MMD -MP -MF"Output/obj/los_dispatch_gcc.d"./Middlewares/LiteOS/arch/arm/arm-m/cortex-m4/gcc/los_dispatch_gcc.S -o Output/obj/los_dispatch_gcc.o
复制
注意这里-MF"Output/obj/los_dispatch_gcc.d"./Middlewares/LiteOS/arch/arm/arm-m/cortex-m4/gcc/los_dispatch_gcc.S,".d"后面紧跟着./Middlewares,这说明本该分开的两个参数被合并到一起了,查看Makefile:

$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR)

$(AS) -c $(CFLAGS) $< -o $@
@echo $(notdir $(<:.s=.o))

$(BUILD_DIR)/%.o: %.S Makefile | $(BUILD_DIR)

$(AS) -c $(CFLAGS)$< -o $@
@echo $(notdir $(<:.s=.o))

复制
第二个CFLAGS后面少了个空格,修改后如下:

$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR)

$(AS) -c $(CFLAGS) $< -o $@
@echo $(notdir $(<:.s=.o))

$(BUILD_DIR)/%.o: %.S Makefile | $(BUILD_DIR)

$(AS) -c $(CFLAGS) $< -o $@
@echo $(notdir $(<:.s=.o))

复制
重新编译:

$ make
main.o
linking...
arm-none-eabi-size Output/obj/out.elf
text data bss dec hex filename
31876 308 3456 35640 8b38 Output/obj/out.elf

rm -fR Output/obj/Output/obj

mkdir Output/obj/Output/obj

arm-none-eabi-objcopy -O ihex Output/obj/out.elf Output/obj/out.hex
arm-none-eabi-objcopy -O binary -S Output/obj/out.elf Output/obj/out.bin
cp Output/obj/*.bin Output/bin/
cp Output/obj/*.elf Output/bin/
cp Output/obj/*.hex Output/bin/
cp Output/obj/*.map Output/bin/

相关文章
|
安全 区块链 算法
dapp去中心化大小公排二二复制/三三复制系统开发指南功能丨需求方案丨案例设计丨成熟技术丨源码出售
区块链智能合约(Smart Contract)是一种在区块链技术中实现可编程逻辑的计算机代码。它们可以自动执行合约中包含的条件和操作,从而在区块链上创建一个不可篡改、安全和可靠的数字合约。
|
5月前
|
缓存 前端开发 测试技术
什么是七星创客系统丨七星创客系统开发规则玩法/设计方案/逻辑需求/案例项目/源码功能
七星创客系统开发指南是一个帮助开发人员理解并完成七星创客系统的开发任务的指南。以下是一个简要的开发指南需求:
|
5月前
|
开发框架 缓存 监控
美丽天天秒丨链动2+1模式系统开发规则流程/功能设计/需求方案/成熟案例/源码指南
开发美丽天天秒丨链动2+1系统的流程可以按照以下步骤进行:
|
7月前
|
新零售 搜索推荐 大数据
二二复制公排系统开发|成熟案例|项目原理
新零售的意思是应用新互联网技术和新思维的活动
|
区块链
Jogger/Stepn跑鞋零撸项目系统开发实现技术案例/逻辑方案/案例介绍/源码运营版
 区块链的可追溯性来源于区块链数据结构的特殊性。在区块链系统中,它的链式结构是从创世区块开始的,其后系统产生的所有区块都通过父区块的哈希值前后相连,并最终能追溯到创世区块。
|
7月前
|
自然语言处理 监控 搜索推荐
佛萨奇2.0/3.0Metaforce原力元宇宙系统开发步骤逻辑丨方案项目丨案例设计丨成熟技术丨源码功能
佛萨奇(VoZaChi)是一个虚拟助手系统,其发展至2.0和3.0版本会有一些特定需求和逻辑
|
监控 安全 数据挖掘
泰山众筹系统开发详细指南丨设计方案丨规则玩法丨逻辑功能丨步骤需求丨源码程序
泰山众筹系统是一个基于区块链技术的众筹平台,旨在为用户提供一个安全、透明和高效的众筹环境。
|
存储 安全 前端开发
DApp公排互助预约抢单排单模式系统开发参考版/详细流程/方案逻辑/规则玩法/案例设计/源码程序
需求分析:与团队明确系统的需求、目标和范围,包括公排互助预约抢单排单模式系统的功能、规则、奖励机制等方面
|
存储 安全 区块链
DAPP三三复制公排系统开发指南与逻辑(成熟技术)
跳出横向的角度来看待Web3.0的方式和方法,真正以一种全新的视角来看待它
|
存储 安全
DAPP/3M互助拆分公排双轨系统开发详细逻辑/案例分析/方案项目/技术分析/源码平台
 DApp是指基于区块练技术的去中心化应用程序,它的特点是去中心化、透明、安全、不可篡改等特点。