Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vscode build support #41

Closed
wants to merge 23 commits into from
Closed

Conversation

tridge
Copy link
Member

@tridge tridge commented Jul 20, 2024

This adds vscode build support on linux and windows. It supports building and debugging AM32 using vscode on both windows and linux. It also supports command line builds on linux.

For windows you will need these tools:
http://uav.tridgell.net/AM32/tools/windows-tools.zip
on linux you need these:
http://uav.tridgell.net/AM32/tools/linux-tools.zip

You will need to install vscode, along with the following extensions:

  • C/C++
  • Coxtex-Debug
  • Makefile Tools

quick demos:
https://youtu.be/2hQvTfp1R7k?si=sn1L5J9G7VJJssKF
https://www.youtube.com/watch?v=CSHP63D_ojw

this PR builds on top of #34

tridge added 17 commits July 15, 2024 11:07
adding -g does not change the size of the build, but gives us debug
symbols to make debugging easier
use the flags for the specific MCU, not just F051
case sensitive and stray white space
lists targets for convenience
stop overflowing flash
main gain is using single precision constants
case sensitive for linux builds
and gdb debug support
avoids shell commands that are a problem on windows
@tridge tridge force-pushed the pr-vscode-support branch 4 times, most recently from e2fef2d to 9c8e4a9 Compare July 22, 2024 06:31
@tridge tridge force-pushed the pr-vscode-support branch 3 times, most recently from 0d0c4ed to fa6b465 Compare July 22, 2024 06:41
@tridge tridge force-pushed the pr-vscode-support branch from fa6b465 to 5935d5a Compare July 22, 2024 06:48
@ianrmurphy
Copy link

Commit d3445bc has broken the Keil IDE builds. They don't use the makefile. However, they are ahead of the makefile builds in terms of target support, so I think this would need to be fixed as they are clearly being used by some contributors.

@ianrmurphy
Copy link

ianrmurphy commented Jul 24, 2024

Commit d3445bc has broken the Keil IDE builds. They don't use the makefile. However, they are ahead of the makefile builds in terms of target support, so I think this would need to be fixed as they are clearly being used by some contributors.

Indeed they are ref: #37 (comment)

@tridge
Copy link
Member Author

tridge commented Jul 24, 2024

@ianrmurphy fixed in #44 - @AlkaMotors asked me to rebase on his current dev branch, so I did that in a new PR, and fixed the keil build there

@tridge
Copy link
Member Author

tridge commented Jul 24, 2024

this PR is replaced by #44

@tridge tridge closed this Jul 24, 2024
ianrmurphy added a commit to ianrmurphy/AM32 that referenced this pull request Jul 25, 2024
makefile: added -g to CFLAGS

adding -g does not change the size of the build, but gives us debug
symbols to make debugging easier

makefile: fixed use of MCU flags

use the flags for the specific MCU, not just F051

f421: fixed makefile

case sensitive and stray white space

f421: removed duplicate target

makefile: added targets make command

lists targets for convenience

e230: fixed build with makefile

stop overflowing flash

makefile: reduce build size

main gain is using single precision constants

inc: show an error if missing target defines

f415: fixed makefile

case sensitive for linux builds

f421: fixed name of DAKEFPV_F421

show target name instead of "all done"

more useful output

f415: fixed declaration of gpio_mode_QUICK

targets: fixed AT32DEV_F415 build

CI: added a CI build workflow

added vscode build rules

and gdb debug support

moved version to Makefile

avoids shell commands that are a problem on windows

git: ignore generated files

vscode: added STLink and JLink debug setups

CI: added target to build on windows

moved tools to firmware.ardupilot.org

more bandwidth available

added openocd.cfg files for all MCUs

use Mcu specific openocd config files

Merged tridge:pr-vscode-support & Huibean:add-vimdrones-l4-target

am32-firmware#41
am32-firmware#37

Added STM32G431 makefile targets.

Required HAL files deleting from Driver folder.
ianrmurphy added a commit to ianrmurphy/AM32 that referenced this pull request Jul 25, 2024
makefile: added -g to CFLAGS

adding -g does not change the size of the build, but gives us debug
symbols to make debugging easier

makefile: fixed use of MCU flags

use the flags for the specific MCU, not just F051

f421: fixed makefile

case sensitive and stray white space

f421: removed duplicate target

makefile: added targets make command

lists targets for convenience

e230: fixed build with makefile

stop overflowing flash

makefile: reduce build size

main gain is using single precision constants

inc: show an error if missing target defines

f415: fixed makefile

case sensitive for linux builds

f421: fixed name of DAKEFPV_F421

show target name instead of "all done"

more useful output

f415: fixed declaration of gpio_mode_QUICK

targets: fixed AT32DEV_F415 build

CI: added a CI build workflow

added vscode build rules

and gdb debug support

moved version to Makefile

avoids shell commands that are a problem on windows

git: ignore generated files

vscode: added STLink and JLink debug setups

CI: added target to build on windows

moved tools to firmware.ardupilot.org

more bandwidth available

added openocd.cfg files for all MCUs

use Mcu specific openocd config files

Merged tridge:pr-vscode-support & Huibean:add-vimdrones-l4-target

am32-firmware#41
am32-firmware#37

Added STM32G431 makefile targets.

Required HAL files deleting from Driver folder.
ianrmurphy added a commit to ianrmurphy/AM32 that referenced this pull request Jul 25, 2024
makefile: added -g to CFLAGS

adding -g does not change the size of the build, but gives us debug
symbols to make debugging easier

makefile: fixed use of MCU flags

use the flags for the specific MCU, not just F051

f421: fixed makefile

case sensitive and stray white space

f421: removed duplicate target

makefile: added targets make command

lists targets for convenience

e230: fixed build with makefile

stop overflowing flash

makefile: reduce build size

main gain is using single precision constants

inc: show an error if missing target defines

f415: fixed makefile

case sensitive for linux builds

f421: fixed name of DAKEFPV_F421

show target name instead of "all done"

more useful output

f415: fixed declaration of gpio_mode_QUICK

targets: fixed AT32DEV_F415 build

CI: added a CI build workflow

added vscode build rules

and gdb debug support

moved version to Makefile

avoids shell commands that are a problem on windows

git: ignore generated files

vscode: added STLink and JLink debug setups

CI: added target to build on windows

moved tools to firmware.ardupilot.org

more bandwidth available

added openocd.cfg files for all MCUs

use Mcu specific openocd config files

Merged tridge:pr-vscode-support & Huibean:add-vimdrones-l4-target

am32-firmware#41
am32-firmware#37

Added STM32G431 makefile targets.

Required HAL files deleting from Driver folder.
ianrmurphy added a commit to ianrmurphy/AM32 that referenced this pull request Jul 25, 2024
makefile: added -g to CFLAGS

adding -g does not change the size of the build, but gives us debug
symbols to make debugging easier

makefile: fixed use of MCU flags

use the flags for the specific MCU, not just F051

f421: fixed makefile

case sensitive and stray white space

f421: removed duplicate target

makefile: added targets make command

lists targets for convenience

e230: fixed build with makefile

stop overflowing flash

makefile: reduce build size

main gain is using single precision constants

inc: show an error if missing target defines

f415: fixed makefile

case sensitive for linux builds

f421: fixed name of DAKEFPV_F421

show target name instead of "all done"

more useful output

f415: fixed declaration of gpio_mode_QUICK

targets: fixed AT32DEV_F415 build

CI: added a CI build workflow

added vscode build rules

and gdb debug support

moved version to Makefile

avoids shell commands that are a problem on windows

git: ignore generated files

vscode: added STLink and JLink debug setups

CI: added target to build on windows

moved tools to firmware.ardupilot.org

more bandwidth available

Merged tridge:pr-vscode-support & Huibean:add-vimdrones-l4-target

am32-firmware#41
am32-firmware#37

F421: fixed case of ADC.h (matters on Linux)

makefile: added -g to CFLAGS

adding -g does not change the size of the build, but gives us debug
symbols to make debugging easier

makefile: fixed use of MCU flags

use the flags for the specific MCU, not just F051

f421: fixed makefile

case sensitive and stray white space

f421: removed duplicate target

makefile: added targets make command

lists targets for convenience

e230: fixed build with makefile

stop overflowing flash

makefile: reduce build size

main gain is using single precision constants

inc: show an error if missing target defines

f415: fixed makefile

case sensitive for linux builds

f421: fixed name of DAKEFPV_F421

show target name instead of "all done"

more useful output

f415: fixed declaration of gpio_mode_QUICK

targets: fixed AT32DEV_F415 build

CI: added a CI build workflow

added vscode build rules

and gdb debug support

moved version to Makefile

avoids shell commands that are a problem on windows

git: ignore generated files

vscode: added STLink and JLink debug setups

CI: added target to build on windows

moved tools to firmware.ardupilot.org

more bandwidth available

added openocd.cfg files for all MCUs

use Mcu specific openocd config files

Merged tridge:pr-vscode-support & Huibean:add-vimdrones-l4-target

am32-firmware#41
am32-firmware#37

Added STM32G431 makefile targets.

Required HAL files deleting from Driver folder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants