-
Notifications
You must be signed in to change notification settings - Fork 3k
Add new target: NUCLEO_L452RE-P #12286
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
Conversation
@pea-pod, thank you for your changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution
@ARMmbed/team-st-mcd
// TIM<x> cannot be used because already used by the us_ticker | ||
// You have to comment all PWM using TIM_MST defined in hal_tick.h file | ||
// or update python script (check TIM_MST_LIST) and re-run it |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TIM2 is used by us_ticker,
so you have to comment all PWM_2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I presume this means it disappears from the PWMName enum
in PeripheralNames.h as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're right, but I have never done it... :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, I tried a little bit ago, and this is the happy message I received:
[Error] pwmout_device.c@38,6: 'PWM_2' undeclared here (not in a function); did you mean 'PWM_6'?
I did some pythoning, and found that different L4 devices use different timers for their us_ticker. Since there are no #ifdef
checks excluding those from compiling in pwmout_device.c
found in the TARGET_STM32L4
folder, I do not see a good reason to start now. In fact, I am weary of trying to do that without having at least one or two other affected boards.
place at address mem:__intvec_start__ { readonly section .intvec }; | ||
|
||
place in ROM_region { readonly }; | ||
place in CSTACK_region { block CSTACK }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compilation issue: remove this CSTACK_region line, as it is already described above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed.
targets/targets.json
Outdated
}, | ||
"macros_add": [ | ||
"STM32L452xx", | ||
"STM32L452RE", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
STM32L452RE not needed ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed.
targets/targets.json
Outdated
"STM32L452", | ||
"STM32L452xx", | ||
"STM32L452xE", | ||
"STM32L452RE" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
STM32L452, STM32L452xx and STM32L452RE not needed ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Which of these lines (any of the target.json lines), if any, are required for adding the "bootloader_supported": true
feature in order to make it work?
Incidentally, when I did have that one added, the mbed script would complain that it could not find STM32L452RE in some file. This may be by design, but it was beyond my understanding either way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"bootloader_supported" needs the correct device_name value, see below comment
targets/targets.json
Outdated
"release_versions": [ | ||
"5" | ||
], | ||
"device_name": "STM32L452RE" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update value with "STM32L452RETx"
(value chosen in tools/arm_pack_manager/index.json)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you. I believe this resolved the build warning, as I also added "bootloader_supported": true
and did not see any additional details in my latest test run.
targets/targets.json
Outdated
"STM32L452", | ||
"STM32L452xx", | ||
"STM32L452xE", | ||
"STM32L452RE" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"bootloader_supported" needs the correct device_name value, see below comment
8ac388d
to
d226d14
Compare
After making the changes, I re-ran the tests, which are attached here. |
This PR cannot be merged due to conflicts. Please rebase to resolve them. |
d226d14
to
9451de9
Compare
I added the sector start value and sector size to the I also had to resolve the conflict in @jeromecoutant or anyone else: is there anything else required to merge? |
@pea-pod I'm sorry but one of our requirements is that targets should support all 3 compile chains. So we cannot accept this until you have ensured all the compilers work. Why are you unable to test against the other compilers ? |
Because other are not free :-) I started tests, let's see tomorrow morning results |
Yes, exactly. I am aware that there is the 800
Thank you very much! |
Hi Results:
Issue is with 'tests-mbedmicro-rtos-mbed-heap_and_stack'
Linker script has be be checked |
Thanks Jerome :) |
9451de9
to
095a0bd
Compare
After some digging (and perhaps not in the X that marks the spot on the treasure map) the best I can come up with in the liker script is that I did not have the minimum heap size set to be larger than the smaller RAM bank. I had it smaller. I am not at all sure how this would make much of a difference where the linker puts the ISR interrupt handler stack, however. I also corrected a number comments in the same file, one of them having to do with remaining SRAM. @jeromecoutant I am at your mercy for testing these linker scripts. If there is any guidance as to what to do, or a way to test this using the mbed Studio, I am all ears. In fact, if there was a way to test using mbed Studio, I would be happy to learn about it. Finally, I keep force pushing to my branch, because I believe that's the right way to keep the merges squashed. If there is a better way to do this, please let me know, as I am still learning the preferred style this site. |
Mmm seems there is the same issue:
|
095a0bd
to
f7c4693
Compare
Ok, so I think I found it. I compared @jeromecoutant Please let me know if this works. I appreciate it a lot. |
PR12286_ARM.txt 100% OK |
@adbridge Is there anything remaining that is required to merge? I believe I have satisfied the requirements, but I could be wrong. @jeromecoutant Thank you for your help. I really appreciate it. |
@0xc0170 Is this ready to go in? @jeromecoutant has approved the two compilers I do not have access to. I have done gcc. Is there something else I need to do? |
Let's get this into CI |
Test run: SUCCESSSummary: 11 of 11 test jobs passed |
Test run: SUCCESSSummary: 11 of 11 test jobs passed |
Summary of changes
Add new target: ST Nucleo L452RE-P and also here.
Impact of changes
New target.
I was not able to test with IAR or ARM6, so there is a non-zero chance that those are horribly wrong despite my best efforts.
Migration actions required
None.
Documentation
Only the mbed site documentation and pin description.
Pull request type
Test results
Reviewers
@jeromecoutant
nucleo_l452re-p test results.txt