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

Stm32f103xb interface #257

Merged
merged 25 commits into from Oct 30, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
44097bc
Add sdk_init along with a weak implementation
c1728p9 Apr 16, 2017
1ebf44a
Align hid test addr to prevent undefined behavior
c1728p9 Apr 23, 2017
2a19cb5
stm32f103rb : add lib of stm32f10x
Apr 22, 2016
9a71392
stm32f103xb : implement hal and add bootloader
Apr 16, 2017
595b7d8
stm32f103xb : Check in open source USB driver
c1728p9 Apr 3, 2017
47291b0
stm32f103xb : Run astyle on USB driver
c1728p9 Apr 3, 2017
5ffac26
stm32f103xb : Update USB driver for DAPLink
c1728p9 Apr 3, 2017
d76199d
stm32f103xb : Fix access to EPxREG
c1728p9 Apr 7, 2017
794c1b6
stm32f103xb : Process USB TX before USB RX
c1728p9 Apr 10, 2017
63d9b92
stm32f103xb : Reduce chance of dropped setup pkts
c1728p9 Apr 10, 2017
91daf85
stm32f103xb : Enable 8MHz MCO for target
c1728p9 Apr 20, 2017
fc676b3
stm32f103xb : Increase bootloader size to 48KB
c1728p9 Apr 15, 2017
a3f7f28
stm32f103xb : Add initial set of boards
c1728p9 Apr 23, 2017
b3f4432
Add more boards
c1728p9 Sep 4, 2017
b580f5b
stm32f103xb: Allow ST bootloader to be started
c1728p9 Sep 4, 2017
f662439
stm32f103xb: Add padding for ST bootloader
c1728p9 Sep 4, 2017
ba25235
Turn on automation and overflow detect by default
c1728p9 Sep 4, 2017
1f4ddb4
Revert "stm32f103xb: Allow ST bootloader to be started"
c1728p9 Mar 11, 2018
eedc5fc
Update the STM32F103 interface for master
c1728p9 Mar 11, 2018
2c1d5e4
Bring up to updated usb_config.c; name changes and syntax error in in…
brianesquilona Sep 27, 2018
632ac80
Added verify api
brianesquilona Sep 28, 2018
5bf65fb
Updated hic id of Nucleo Stm32f103
brianesquilona Sep 28, 2018
0ac2e02
Fix typo error for test info
brianesquilona Sep 28, 2018
29ddff4
Add core and make_armcc to hichal yaml. Needed in mbedcli compile sup…
brianesquilona Oct 29, 2018
9b8de20
Correct bootloader
brianesquilona Oct 29, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
48 changes: 48 additions & 0 deletions projects.yaml
Expand Up @@ -49,6 +49,9 @@ module:
hic_sam3u2c: &module_hic_sam3u2c
- records/rtos/rtos-cm3.yaml
- records/hic_hal/sam3u2c.yaml
hic_stm32f103xb: &module_hic_stm32f103xb
- records/rtos/rtos-cm3.yaml
- records/hic_hal/stm32f103xb.yaml

projects:
kl26z_bl:
Expand All @@ -67,6 +70,10 @@ projects:
- *module_bl
- *module_hic_sam3u2c
- records/board/sam3u2c_bl.yaml
stm32f103xb_bl:
- *module_bl
- *module_hic_stm32f103xb
- records/board/stm32f103xb_bl.yaml
sam3u2c_mkit_dk_dongle_nrf5x_if:
- *module_if
- *module_hic_sam3u2c
Expand Down Expand Up @@ -427,3 +434,44 @@ projects:
- *module_if
- *module_hic_lpc11u35
- records/board/mtb_mts_xdot.yaml
stm32f103xb_stm32f103rb_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f103rb.yaml
stm32f103xb_stm32f072rb_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f072rb.yaml
stm32f103xb_stm32f334r8_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f334r8.yaml
stm32f103xb_stm32f401re_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f401re.yaml
stm32f103xb_stm32f411re_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f411re.yaml
stm32f103xb_stm32f429zi_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f429zi.yaml
stm32f103xb_ublox_evk_odin_w2_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/ublox_evk_odin_w2.yaml
stm32f103xb_stm32l476rg_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32l476rg.yaml
stm32f103xb_stm32f746zg_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f746zg.yaml
stm32f103xb_stm32f207zg_if:
- *module_if
- *module_hic_stm32f103xb
- records/board/stm32f207zg.yaml

7 changes: 7 additions & 0 deletions records/board/stm32f072rb.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f072rb.c
target:
- source/target/st/stm32f072rb/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/stm32f103rb.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f103rb.c
target:
- source/target/st/stm32f103rb/target.c
- source/target/st/target_reset.c
4 changes: 4 additions & 0 deletions records/board/stm32f103xb_bl.yaml
@@ -0,0 +1,4 @@
common:
sources:
board:
- source/board/stm32f103xb_bl.c
7 changes: 7 additions & 0 deletions records/board/stm32f207zg.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f207zg.c
target:
- source/target/st/stm32f207zg/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/stm32f334r8.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f334r8.c
target:
- source/target/st/stm32f334r8/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/stm32f401re.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f401re.c
target:
- source/target/st/stm32f401re/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/stm32f411re.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f411re.c
target:
- source/target/st/stm32f411/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/stm32f429zi.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f429zi.c
target:
- source/target/st/stm32f429zi/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/stm32f746zg.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32f746zg.c
target:
- source/target/st/stm32f746zg/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/stm32l476rg.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/stm32l476rg.c
target:
- source/target/st/stm32l476rg/target.c
- source/target/st/target_reset.c
7 changes: 7 additions & 0 deletions records/board/ublox_evk_odin_w2.yaml
@@ -0,0 +1,7 @@
common:
sources:
board:
- source/board/ublox_evk_odin_w2.c
target:
- source/target/st/stm32f439zi/target.c
- source/target/st/target_reset.c
45 changes: 45 additions & 0 deletions records/hic_hal/stm32f103xb.yaml
@@ -0,0 +1,45 @@
common:
target:
- stm32f103xb
core:
- Cortex-M3
macros:
- INTERFACE_STM32F103XB
- USE_HAL_DRIVER
- STM32F103xB
- DAPLINK_HIC_ID=0x97969908 # DAPLINK_HIC_ID_STM32F103XB
- __packed=__packed # Prevent redefinition of __packed with ARMCC
- DAPLINK_NO_ASSERT_FILENAMES
includes:
- source/hic_hal/stm32/stm32f103xb
- source/hic_hal/stm32/stm32f103xb/cmsis
- source/hic_hal/stm32/stm32f103xb/STM32F1xx_HAL_Driver
- source/hic_hal/stm32/stm32f103xb/STM32F1xx_HAL_Driver/Inc
sources:
hic_hal:
- source/hic_hal/stm32/stm32f103xb
- source/hic_hal/stm32/stm32f103xb/cmsis
- source/hic_hal/stm32/stm32f103xb/armcc
- source/hic_hal/stm32/stm32f103xb/STM32F1xx_HAL_Driver/Src

tool_specific:
uvision:
misc:
ld_flags:
- --predefine="-I..\..\..\source\hic_hal\stm32\stm32f103xb"
c_flags:
- --no_unaligned_access
cxx_flags:
- --no_unaligned_access
asm_flags:
- --no_unaligned_access
make_armcc:
misc:
ld_flags:
- --predefine="-Isource\hic_hal\stm32\stm32f103xb"
c_flags:
- --no_unaligned_access
cxx_flags:
- --no_unaligned_access
asm_flags:
- --no_unaligned_access
22 changes: 22 additions & 0 deletions source/board/stm32f072rb.c
@@ -0,0 +1,22 @@
/**
* @file stm32f103rb.c
* @brief board ID for the STM32 NUCLEO-F103RB board
*
* DAPLink Interface Firmware
* Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

const char *board_id = "0720";
22 changes: 22 additions & 0 deletions source/board/stm32f103rb.c
@@ -0,0 +1,22 @@
/**
* @file stm32f103rb.c
* @brief board ID for the STM32 NUCLEO-F103RB board
*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here.

* DAPLink Interface Firmware
* Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

const char *board_id = "0700";
38 changes: 38 additions & 0 deletions source/board/stm32f103xb_bl.c
@@ -0,0 +1,38 @@
/**
* @file stm32f103_bl.c
* @brief board ID and meta-data for the hardware interface circuit (HIC) based on STM32F103XB
*
* DAPLink Interface Firmware
* Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#include "target_config.h"

const char *board_id = "0000";

// stm32f103 target information
target_cfg_t target_device = {
.sector_size = 0x400,
// Assume memory is regions are same size. Flash algo should ignore requests
// when variable sized sectors exist
// .sector_cnt = ((.flash_end - .flash_start) / .sector_size);
.sector_cnt = ((KB(128) - KB(48)) / 0x400),
.flash_start = 0x08000000 + KB(48),
.flash_end = 0x08000000 + KB(128),
.ram_start = 0x20000000,
.ram_end = 0x20005000
/* .flash_algo not needed for bootloader */
};
22 changes: 22 additions & 0 deletions source/board/stm32f207zg.c
@@ -0,0 +1,22 @@
/**
* @file stm32f103rb.c
* @brief board ID for the STM32 NUCLEO-F103RB board
*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, different file and no NXP Nucleo.

* DAPLink Interface Firmware
* Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

const char *board_id = "0835";
22 changes: 22 additions & 0 deletions source/board/stm32f334r8.c
@@ -0,0 +1,22 @@
/**
* @file stm32f103rb.c
* @brief board ID for the STM32 NUCLEO-F103RB board
*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dito.

* DAPLink Interface Firmware
* Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

const char *board_id = "0735";
22 changes: 22 additions & 0 deletions source/board/stm32f401re.c
@@ -0,0 +1,22 @@
/**
* @file stm32f401re.c
* @brief board ID for the STM32 NUCLEO-F401RE board
*
* DAPLink Interface Firmware
* Copyright (c) 2017-2017, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

const char *board_id = "0720";
22 changes: 22 additions & 0 deletions source/board/stm32f411re.c
@@ -0,0 +1,22 @@
/**
* @file stm32f103rb.c
* @brief board ID for the STM32 NUCLEO-F103RB board
*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dito.

* DAPLink Interface Firmware
* Copyright (c) 2009-2016, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

const char *board_id = "0740";
22 changes: 22 additions & 0 deletions source/board/stm32f429zi.c
@@ -0,0 +1,22 @@
/**
* @file stm32f429zi.c
* @brief board ID for the STM32 NUCLEO-F429ZI board
*
* DAPLink Interface Firmware
* Copyright (c) 2017-2017, ARM Limited, All Rights Reserved
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

const char *board_id = "0796";