Compiled object file extension for test and release builds #845
-
Hi! If I define extentions below the I've tried defining the extensions as following: :extension:
:test:
:object: .o
:executable: .out
:assembly: .s
:release:
:object: .p1 # xc8 derlenmiş dosya (ara dosya) biçimi uzantısı
:executable: .elf
:assembly: .S But when I release build with XC8 compiler, ceedling somehow looks for
And here is my yaml configuration for release build: :tools:
:release_compiler:
:name: "Microchip XC8 Compiler"
:executable: xc8-cc
# :stderr_redirect: auto
:arguments:
- "-mcpu=#{ENV['MCU']}"
- -c
- -fno-short-double
- -fno-short-float
- -O1
- -fasmfile
- -xassembler-with-cpp
# - -D"$": COLLECTION_DEFINES_RELEASE_AND_VENDOR
- -I"$": COLLECTION_PATHS_SOURCE_AND_INCLUDE
- -mwarn=-1
- -Wa,-a
- -msummary=-psect,-class,+mem,-hex,-file
- -ginhx32
- -Wl,--data-init
- -mno-keep-startup
- -mno-download
- -mdefault-config-bits
- -std=c99
- -mstack=compiled:auto:auto:auto
- -o "${2}"
- "${1}"
:release_assembler:
:name: "Microchip XC8 Compiler"
:executable: xc8-cc
:arguments:
- "-mcpu=#{ENV['MCU']}"
- -std=c99
- -O1
- -Wa,-a
# - -D"$": COLLECTION_DEFINES_RELEASE_AND_VENDOR
- -I"$": COLLECTION_PATHS_SOURCE_AND_INCLUDE
- -o "${2}"
- -c
- "${1}"
:release_linker:
:name: "Microchip XC8 Linker"
:executable: xc8-cc
:arguments:
- "-mcpu=#{ENV['MCU']}"
- -Wl,-Map="${3}"
- -fno-short-double
- -fno-short-float
- -O1
- -fasmfile
- -xassembler-with-cpp
# - -D"$": COLLECTION_DEFINES_RELEASE_AND_VENDOR
- -I"$": COLLECTION_PATHS_SOURCE_AND_INCLUDE
- -mwarn=-1
- -Wa,-a
- -msummary=-psect,-class,+mem,-hex,-file
- -ginhx32
- -Wl,--data-init
- -mno-keep-startup
- -mno-download
- -mdefault-config-bits
- -mstack=compiled:auto:auto:auto
- -o "${2}"
- "{'${1}'.split(' ').map { |x| (x.include? '/out/c/') ? (Pathname(x).sub_ext('.p1')).to_s : x }.join(' ') }"
- "${4}" Thanks in advance, with respect. |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
Hi. At the moment, this isn't an option. However, we are close to the next release, and this is an easy detail for us to add. I'll add it to our list. Secondly, to work around it for now, you could create a Mark |
Beta Was this translation helpful? Give feedback.
-
Hi @mvandervoord! $ ceedling config:release release
rake aborted!
Don't know how to build task 'config:release' (See the list of available tasks with `rake --tasks`)
(See full trace by running task with --trace)
Ceedling could not complete the build because of errors. As per your suggestion, I've created a :release_build:
:output: hkbmv2.hex
:use_assembly: TRUE
:environment:
- :prjname: hkbmv2
- :mcu: 18F46K22
- :mplabx_root: "/opt/microchip/mplabx/v6.15"
- :path:
- "/opt/microchip/xc8/v2.46/bin"
- "#{ENV['PATH']}"
- build
:extension:
:object: .p1
:executable: .elf
:assembly: .S
:tools:
:release_compiler:
:name: "Microchip XC8 Compiler"
:executable: xc8-cc
# :stderr_redirect: auto
:arguments:
- "-mcpu=#{ENV['MCU']}"
- -c
- -fno-short-double
- -fno-short-float
- -O1
- -fasmfile
- -xassembler-with-cpp
# - -D"$": COLLECTION_DEFINES_RELEASE_AND_VENDOR
- -I"$": COLLECTION_PATHS_SOURCE_AND_INCLUDE
- -mwarn=-1
- -Wa,-a
- -msummary=-psect,-class,+mem,-hex,-file
- -ginhx32
- -Wl,--data-init
- -mno-keep-startup
- -mno-download
- -mdefault-config-bits
- -std=c99
- -mstack=compiled:auto:auto:auto
- -o "${2}"
- "${1}"
:release_assembler:
:name: "Microchip XC8 Compiler"
:executable: xc8-cc
:arguments:
- "-mcpu=#{ENV['MCU']}"
- -std=c99
- -O1
- -Wa,-a
# - -D"$": COLLECTION_DEFINES_RELEASE_AND_VENDOR
- -I"$": COLLECTION_PATHS_SOURCE_AND_INCLUDE
- -o "${2}"
- -c
- "${1}"
:release_linker:
:name: "Microchip XC8 Linker"
:executable: xc8-cc
:arguments:
- "-mcpu=#{ENV['MCU']}"
- -Wl,-Map="${3}"
- -fno-short-double
- -fno-short-float
- -O1
- -fasmfile
- -xassembler-with-cpp
# - -D"$": COLLECTION_DEFINES_RELEASE_AND_VENDOR
- -I"$": COLLECTION_PATHS_SOURCE_AND_INCLUDE
- -mwarn=-1
- -Wa,-a
- -msummary=-psect,-class,+mem,-hex,-file
- -ginhx32
- -Wl,--data-init
- -mno-keep-startup
- -mno-download
- -mdefault-config-bits
- -mstack=compiled:auto:auto:auto
- -o "${2}"
- "{'${1}'.split(' ').map { |x| (x.include? '/out/c/') ? (Pathname(x).sub_ext('.p1')).to_s : x }.join(' ') }"
- "${4}" Now, the |
Beta Was this translation helpful? Give feedback.
-
Hi, I am using XC16 with two project files : project.yml and project_XC16.yml and I run my tests with I have always been using This is the content of my project.yml :
And
|
Beta Was this translation helpful? Give feedback.
Hi.
At the moment, this isn't an option.
However, we are close to the next release, and this is an easy detail for us to add. I'll add it to our list.
Secondly, to work around it for now, you could create a
release.yml
file which has the tools and modifications for your release builds, and you could callceedling config:release release
when you want to build your releases. It's not ideal, but it'll get you running today.Mark