Skip to content

Commit 443d56c

Browse files
authored
[bsp][airm2m/air105][rsoc] Fix compilation issues with bsp of airm2m/air105
1 parent 1bf3d79 commit 443d56c

File tree

7 files changed

+29
-20
lines changed

7 files changed

+29
-20
lines changed

.github/workflows/bsp_buildings.yml

+1
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ jobs:
101101
- "rm48x50"
102102
- "ht32/ht32f52352"
103103
- "ht32/ht32f12366"
104+
- "airm2m/air105"
104105
- "w60x"
105106
- "essemi/es32f0654"
106107
- "essemi/es32f365x"

.github/workflows/manual_trigger_scons_except_STM32_all.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
legs:
4444
- {RTT_BSP_NAME: "acm32_acm32f0x0-nucleo", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "acm32/acm32f0x0-nucleo"}
4545
- {RTT_BSP_NAME: "acm32_acm32f4xx-nucleo", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "acm32/acm32f4xx-nucleo"}
46-
#- {RTT_BSP_NAME: "airm2m_air105", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "airm2m/air105"} #scons fail in last step
46+
- {RTT_BSP_NAME: "airm2m_air105", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "airm2m/air105"}
4747
- {RTT_BSP_NAME: "airm2m_air32f103", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "airm2m/air32f103"}
4848
#- {RTT_BSP_NAME: "allwinner_d1", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "allwinner/d1"} # rt-smart fail toolchain
4949
#- {RTT_BSP_NAME: "allwinner_d1s", RTT_TOOL_CHAIN: "sourcery-arm", RTT_BSP: "allwinner/d1s"} #toochain

bsp/airm2m/air105/board/board.c

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
/*
2-
* Copyright (c) 2006-2022, RT-Thread Development Team
2+
* Copyright (c) 2006-2024 RT-Thread Development Team
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*
66
* Change Logs:
77
* Date Author Notes
88
* 2022-02-22 airm2m first version
99
*/
10-
1110
#include "board.h"
11+
#include "drv_common.h"
12+
#include "drv_gpio.h"
13+
#include "drv_usart_v2.h"
14+
1215
uint32_t SystemCoreClock;
1316
extern const uint32_t __isr_start_address;
1417

@@ -38,7 +41,7 @@ void SystemInit(void)
3841
__enable_irq();
3942
}
4043

41-
void SystemCoreClockUpdate (void) /* Get Core Clock Frequency */
44+
void SystemCoreClockUpdate (void) /* Get Core Clock Frequency */
4245
{
4346
SystemCoreClock = HSE_VALUE * (((SYSCTRL->FREQ_SEL & SYSCTRL_FREQ_SEL_XTAL_Mask) >> SYSCTRL_FREQ_SEL_XTAL_Pos) + 1);
4447
}
@@ -56,7 +59,7 @@ void rt_hw_board_init(void)
5659
rt_hw_systick_init();
5760
DMA_GlobalInit();
5861
Uart_GlobalInit();
59-
DMA_TakeStream(DMA1_STREAM_1);//for qspi
62+
DMA_TakeStream(DMA1_STREAM_1);/* for qspi */
6063
CoreTick_Init();
6164
#ifdef RT_USING_PIN
6265
rt_hw_pin_init();

bsp/airm2m/air105/libraries/HAL_Driver/Inc/core_irq.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121

2222
#ifndef __CORE_IRQ_H__
2323
#define __CORE_IRQ_H__
24-
24+
#include <stdint.h>
2525
/**
2626
* @brief 设置中断回调函数
2727
*
2828
* @param Irq 中断号 0~IRQ_LINE_MAX
2929
* @param Handler 中断回调函数,如 void Irq_Handler(uint32_t IrqLine, void *pData); 可以多个中断号对应1个中断函数,回调时传入中断号和用户数据
3030
*/
31-
void ISR_SetHandler(int32_t Irq, void *Handler);
31+
void ISR_SetHandler(int32_t Irq, void *Handler, void *pData);
3232
/**
3333
* @brief 设置中断优先级
3434
*

bsp/airm2m/air105/libraries/HAL_Driver/Src/core_dma.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1919
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2020
*/
21-
21+
#include "core_irq.h"
2222
#include "user.h"
2323
typedef struct
2424
{
25-
const DMA_TypeDef *RegBase;
25+
DMA_TypeDef *RegBase;
2626
const uint32_t Index;
2727
CBFuncEx_t CB;
2828
void *pData;
@@ -65,17 +65,17 @@ typedef struct
6565

6666
/************ operation definition for DMA DMA_CFG_L REGISTER ************/
6767
#define DMA_CFG_HS_SEL_SRC_Pos (11)
68-
#define DMA_CFG_HS_SEL_SRC_Mask (0x01U<<DMA_CFG_HS_SEL_SRC_Pos)//0 HARD 1 SOFT
68+
#define DMA_CFG_HS_SEL_SRC_Mask (0x01U<<DMA_CFG_HS_SEL_SRC_Pos)/*0 HARD 1 SOFT*/
6969

7070
#define DMA_CFG_HS_SEL_DST_Pos (10)
7171
#define DMA_CFG_HS_SEL_DST_Mask (0x01U<<DMA_CFG_HS_SEL_DST_Pos)
7272

7373
/************ operation definition for DMA DMA_CFG_H REGISTER ************/
7474
#define DMA_CFG_DEST_PER_Pos (11)
75-
#define DMA_CFG_DEST_PER_Mask (0x07U<<DMA_CFG_DEST_PER_Pos)//need write current channel num
75+
#define DMA_CFG_DEST_PER_Mask (0x07U<<DMA_CFG_DEST_PER_Pos)/*need write current channel num*/
7676

7777
#define DMA_CFG_SRC_PER_Pos (7)
78-
#define DMA_CFG_SRC_PER_Mask (0x07U<<DMA_CFG_SRC_PER_Pos)//need write current channel num
78+
#define DMA_CFG_SRC_PER_Mask (0x07U<<DMA_CFG_SRC_PER_Pos)/*need write current channel num*/
7979

8080
/************ operation definition for DMA DMA_LLP_L REGISTER ************/
8181
#define DMAC_LLP_NEXT_LLI_MSK (0x3)
@@ -212,7 +212,7 @@ int DMA_ConfigStream(uint8_t Stream, void *Config)
212212
(DMA_InitStruct->DMA_PeripheralDataSize << DMA_CTL_DST_TR_WIDTH_Pos);
213213

214214
hwDMAChannal[Stream].TxDir = 1;
215-
// hwDMA->CFG_L = (1 << 18);
215+
/* hwDMA->CFG_L = (1 << 18); */
216216
hwDMA->CFG_L = 0;
217217
break;
218218
default:
@@ -333,7 +333,7 @@ uint32_t DMA_GetDataLength(uint8_t Stream, uint32_t FirstAddress)
333333
static void DMA_IrqHandle(int32_t IrqLine, void *pData)
334334
{
335335
uint32_t i;
336-
// DBG("%x", DMA->StatusTfr_L);
336+
/* DBG("%x", DMA->StatusTfr_L); */
337337
if (DMA->StatusInt_L & (1 << 0))
338338
{
339339
for(i = 0; i < DMA_STREAM_QTY; i++)
@@ -352,7 +352,7 @@ static void DMA_IrqHandle(int32_t IrqLine, void *pData)
352352
if (DMA->StatusErr_L & (1 << i))
353353
{
354354
DMA->ClearErr_L = (1 << i);
355-
hwDMAChannal[i].CB(hwDMAChannal[i].pData, 0xffffffff);
355+
hwDMAChannal[i].CB(hwDMAChannal[i].pData, (void *)0xffffffff);
356356
}
357357
}
358358
}

bsp/airm2m/air105/libraries/rt_drivers/drv_common.h

+6
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ void _Error_Handler(char *s, int num);
2929

3030
#define DMA_NOT_AVAILABLE ((DMA_INSTANCE_TYPE *)0xFFFFFFFFU)
3131

32+
/**
33+
* This function is mainly used for SysTick initialization
34+
*
35+
*/
36+
void rt_hw_systick_init(void);
37+
3238
#ifdef __cplusplus
3339
}
3440
#endif

bsp/airm2m/air105/makesoc.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
21
import os
32
import sys
43
import shutil
5-
import urllib
6-
4+
import urllib.request
75
out_path='./'
86
bin_file_name='rtthread.bin'
97
pack_path='./pack'
@@ -17,13 +15,14 @@
1715
os.remove(out_file+'.soc')
1816

1917
if not os.path.exists(pack_path+'/bootloader.bin'):
20-
urllib.urlretrieve("http://cdndownload.openluat.com/rt-thread/airm2m/air105/bootloader.bin", pack_path+'/bootloader.bin')
18+
urllib.request.urlretrieve("http://cdndownload.openluat.com/rt-thread/airm2m/air105/bootloader.bin", pack_path + '/bootloader.bin')
2119

2220
if not os.path.exists(pack_path+'/soc_download.exe'):
23-
urllib.urlretrieve("http://cdndownload.openluat.com/rt-thread/airm2m/air105/soc_download.exe", pack_path+'/soc_download.exe')
21+
urllib.request.urlretrieve("http://cdndownload.openluat.com/rt-thread/airm2m/air105/bootloader.bin", pack_path + '/bootloader.bin')
2422

2523
shutil.copy(out_path+bin_file_name, pack_path+'/'+bin_file_name)
2624
shutil.make_archive(out_file, 'zip', root_dir=pack_path)
2725
os.remove(pack_path+'/'+bin_file_name)
2826
os.rename(out_file+'.zip',out_file+'.soc')
27+
2928
print('end')

0 commit comments

Comments
 (0)