Here's my solution, for converting elf to bin. NOTE THAT YOU MUST LEAVE
"application" IN THE TYPE LIST. Otherwise the run configuration of the Bare
Metal projects won't work.
CppApplication {
type: ["application", "bin"]
// ...
property string objCopyPath:
cpp.compilerPath.replace("arm-none-eabi-g++", "arm-none-eabi-objcopy")
Rule { id: bin inputs: ["application"]
Artifact { fileTags: ["bin"]
fileName: "firmware.bin" }
prepare: { var args = ["-O", "binary",
input.filePath,
output.filePath]; var cmd = new
Command(product.objCopyPath,
args); cmd.description = "converting to bin: " +
FileInfo.fileName(output.filePath); cmd.highlight =
"linker"; return cmd; } }
On 2 March 2015 at 19:16, Stephan Gatzka <[email protected]> wrote:
> Hello all!
>
> Please forgive me my probably basic questions, but I'm a newbie to qbs.
>
> I've to build a bare metal project, consisting of two elf binaries and
> an FPGA image.
>
> Building both elf binaries worked like charm. But after building both
> elf binaries I have to combine both elf files and the pre-built FPGA
> image into a single image. This involves some fancy calls to objcopy
> and dd.
>
> Now I'm struggling with the task how to implement that in a qbs product.
>
> This is my current structure:
> Project {
> name: "productName"
>
> Application {
> name: "app1"
> ...
> }
>
> Application {
> name: "app2"
> ...
> }
>
> Product {
> name: "image"
>
> Depends {
> name:"app1"
> required:true
> }
> Depends {
> name:"app2"
> required:true
> }
>
> }
> }
>
> Inside the image product I tried to make the calls to objcopy and dd
> in the prepare script of a Rule or a Transformer. I think I haven't
> totally understood the behavior or intention of the usings and input
> directives.
>
> Can somebody please give me a hint how to solve this task best?
>
> Kind regards,
>
> Stephan
> _______________________________________________
> QBS mailing list
> [email protected]
> http://lists.qt-project.org/mailman/listinfo/qbs
>
_______________________________________________
QBS mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/qbs