Open frankleonrose opened 4 years ago
PlatformIO issues a warning about the use of atstart_file option
If you need custom options in platformio.ini for your framework, please use board_build.%frameworkname%.atstart_file
. Later in build script, board.get("build.xxxx.atstart_file")
Atmel Start - is this a framework or configuration tool?
Atmel Start is a configuration tool that generates code that uses Atmel's Advanced Software Framework - ASF4. However, the two are tightly coupled. I think of it as Atmel Start generating a custom framework per project.
In order to break out ASF4 as an independent framework layer, it would have to include all possible hal/hpl/driver sources. Then the builder would have to select among them as appropriate for a particular board. This would essentially be replicating the work Atmel Start does when it generates the source package.
How about to name it just framework = atmel-asf
?
Given the high degree of coupling, I don't see a problem with atmel-asf
. From my perspective, the entrypoint is Atmel Start, which is why I used that name. But anybody in the ecosystem will understand.
Hi @frankleonrose, I do not know if there is still interest in this framework, however for the issue of zero clocks in the peripheral_clk_config.h there is a fix: https://github.com/Mivr/atmel-start/commit/5e3b17727cf20da95c6b5ca4d61c107cb989e9f8 as it seems the external frequency should not be set (I will clean it a bit to remove the value before serialization, I have tested the change and it only affects the peripheral_clk_config in my test projects). Also, there is a Go tool that has more functionality and might be a good idea to integrate into this PR?
As discussed in #33, here's my proposed Atmel Start builder.
Current issues (can be seen building examples/atmelstart-blink):
[Solved] PlatformIO issues a warning about the use of
atstart_file
option. Is there a way to silence that warning?The packages downloaded are placed in ".pio/.downloads". Is there a better place to put the downloads folder? BUILD_CACHE_DIR? I'm thinking the downloads do NOT need to be removed on "clean", in which case maybe not the build cache. Is there a precedent for how to handle downloaded build artifacts?
The generated file peripheral_clk_config.h sets all clock frequencies to 0. This necessitates including
build_flags
as shown below. I plan to inject#pragma warning
statements into the peripheral_clk_config.h so that users of the framework are warned when they have not successfully overridden frequency values.