DA14580DEVKT-B评估板调试01

需要准备的东西

【0】. DA14580DEVKT-B评估板和USB数据线;

【1】. Keil MDK5;

【2】. Jlink驱动软件(电脑安装了Jlink驱动软件以后,USB数据线连接评估板插入电脑才能显示Jlink和相应的串口);

【3】.官方的SDK 目前选用的是DA14580_SDK 5.0.4(DA14580_SDK 5.0.4.rar)

【4】. 裸机评估板准备两份文档DA14580的数据手册和该评估板的电路原理图,这个官网都有的,需要注册账号,然后下载即可;

本次调试的内容就是简单的跑一个DA14580 SDK中的Demo工程,一般开发板跑的基本测试程序都是GPIO的基本操作-LED灯的操作;正好DA14580 SDK中有一个这样的基础Demo工程,解压SDK(DA14580_SDK 5.0.4.rar),在SDK解压目录DA1458x_SDK\5.0.4\projects\target_apps\peripheral_examples下有一个blinky目录,这个就是基础的GPIO操作的Demo工程,网上基础入门的Demo工程就是这个,我们使用Keil5打开这个工程,

 

DA14580芯片介绍
    ARM Cortex-M0 处理器 16MHz频率
    内部集成专用链路处理器
    内部集成AES-128位加密处理器
    32KB OTP闪存;
    42KB SRAM;
    84KB ROM;
    8KB Retention SRAM(保留);
    GPIO P0(8个引脚), P1(6个引脚),P2(10个引脚),P3(8个引脚);
    串口 2个;
    SPI+接口;
    I2C接口;

GPIO 操作的相关定义:

typedef enum {
    INPUT = 0,
    INPUT_PULLUP = 0x100,
    INPUT_PULLDOWN = 0x200,
    OUTPUT = 0x300,
} GPIO_PUPD;

typedef enum {
    GPIO_POWER_RAIL_3V = 0,
    GPIO_POWER_RAIL_1V = 1,
} GPIO_POWER_RAIL;

typedef enum {
    GPIO_PORT_0 = 0,
    GPIO_PORT_1 = 1,
    GPIO_PORT_2 = 2,
    GPIO_PORT_3 = 3,
    GPIO_PORT_3_REMAP = 4,
} GPIO_PORT;

typedef enum {
    GPIO_PIN_0 = 0,
    GPIO_PIN_1 = 1,
    GPIO_PIN_2 = 2,
    GPIO_PIN_3 = 3,
    GPIO_PIN_4 = 4,
    GPIO_PIN_5 = 5,
    GPIO_PIN_6 = 6,
    GPIO_PIN_7 = 7,
    GPIO_PIN_8 = 8,
    GPIO_PIN_9 = 9,
} GPIO_PIN;

typedef enum {
    PID_GPIO = 0,
    PID_UART1_RX,
    PID_UART1_TX,
    PID_UART2_RX,
    PID_UART2_TX,
    PID_SPI_DI,
    PID_SPI_DO,
    PID_SPI_CLK,
    PID_SPI_EN,
    PID_I2C_SCL,
    PID_I2C_SDA,
    PID_UART1_IRDA_RX,
    PID_UART1_IRDA_TX,
    PID_UART2_IRDA_RX,
    PID_UART2_IRDA_TX,
    PID_ADC,
    PID_PWM0,
    PID_PWM1,
    PID_BLE_DIAG,
    PID_UART1_CTSN,
    PID_UART1_RTSN,
    PID_UART2_CTSN,
    PID_UART2_RTSN,
    PID_PWM2,
    PID_PWM3,
    PID_PWM4,
} GPIO_FUNCTION;

typedef enum {
    GPIO_IRQ_INPUT_LEVEL_HIGH = 0,
    GPIO_IRQ_INPUT_LEVEL_LOW = 1,
} GPIO_IRQ_INPUT_LEVEL;

// GPIO base address
#define GPIO_BASE   P0_DATA_REG

/*===========================================================================*/
/* memory map GPIO */
/*===========================================================================*/
    #define P0_DATA_REG         (0x50003000) /* P0 Data input / output register */
    #define P0_SET_DATA_REG     (0x50003002) /* P0 Set port pins register */
    #define P0_RESET_DATA_REG   (0x50003004) /* P0 Reset port pins register */
    #define P00_MODE_REG        (0x50003006) /* P00 Mode Register */
    #define P01_MODE_REG        (0x50003008) /* P01 Mode Register */
    #define P02_MODE_REG        (0x5000300A) /* P02 Mode Register */
    #define P03_MODE_REG        (0x5000300C) /* P03 Mode Register */
    #define P04_MODE_REG        (0x5000300E) /* P04 Mode Register */
    #define P05_MODE_REG        (0x50003010) /* P05 Mode Register */
    #define P06_MODE_REG        (0x50003012) /* P06 Mode Register */
    #define P07_MODE_REG        (0x50003014) /* P07 Mode Register */
    #define P1_DATA_REG         (0x50003020) /* P1 Data input / output register */
    #define P1_SET_DATA_REG     (0x50003022) /* P1 Set port pins register */
    #define P1_RESET_DATA_REG   (0x50003024) /* P1 Reset port pins register */
    #define P10_MODE_REG        (0x50003026) /* P10 Mode Register */
    #define P11_MODE_REG        (0x50003028) /* P11 Mode Register */
    #define P12_MODE_REG        (0x5000302A) /* P12 Mode Register */
    #define P13_MODE_REG        (0x5000302C) /* P13 Mode Register */
    #define P14_MODE_REG        (0x5000302E) /* P14 Mode Register */
    #define P15_MODE_REG        (0x50003030) /* P15 Mode Register */
    #define P2_DATA_REG         (0x50003040) /* P2 Data input / output register */
    #define P2_SET_DATA_REG     (0x50003042) /* P2 Set port pins register */
    #define P2_RESET_DATA_REG   (0x50003044) /* P2 Reset port pins register */
    #define P20_MODE_REG        (0x50003046) /* P20 Mode Register */
    #define P21_MODE_REG        (0x50003048) /* P21 Mode Register */
    #define P22_MODE_REG        (0x5000304A) /* P22 Mode Register */
    #define P23_MODE_REG        (0x5000304C) /* P23 Mode Register */
    #define P24_MODE_REG        (0x5000304E) /* P24 Mode Register */
    #define P25_MODE_REG        (0x50003050) /* P25 Mode Register */
    #define P26_MODE_REG        (0x50003052) /* P26 Mode Register */
    #define P27_MODE_REG        (0x50003054) /* P27 Mode Register */
    #define P28_MODE_REG        (0x50003056) /* P28 Mode Register */
    #define P29_MODE_REG        (0x50003058) /* P29 Mode Register */
    #define P01_PADPWR_CTRL_REG (0x50003070) /* Ports 0 and 1 Output Power Control Register */
    #define P2_PADPWR_CTRL_REG  (0x50003072) /* Port 2 Output Power Control Register */
    #define P3_PADPWR_CTRL_REG  (0x50003074) /* Port 3 Output Power Control Register */
    #define P3_DATA_REG         (0x50003080) /* P3 Data input / output register */
    #define P3_SET_DATA_REG     (0x50003082) /* P3 Set port pins register */
    #define P3_RESET_DATA_REG   (0x50003084) /* P3 Reset port pins register */
    #define P30_MODE_REG        (0x50003086) /* P30 Mode Register */
    #define P31_MODE_REG        (0x50003088) /* P31 Mode Register */
    #define P32_MODE_REG        (0x5000308A) /* P32 Mode Register */
    #define P33_MODE_REG        (0x5000308C) /* P33 Mode Register */
    #define P34_MODE_REG        (0x5000308E) /* P34 Mode Register */
    #define P35_MODE_REG        (0x50003090) /* P35 Mode Register */
    #define P36_MODE_REG        (0x50003092) /* P36 Mode Register */
    #define P37_MODE_REG        (0x50003094) /* P37 Mode Register */

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值