• 大小: 232KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签: STM32  ucLinux  Boot  源码  

资源简介

STM3210E-EVAL官方开发板,主芯片STM32F103ZET6,支持ucLinux开发,官网也给出了开发套件。但是官网没有给出BOOT的源代码, 只有HEX文件(根据推测该HEX文件时KEIL生成的)。 看过UBOOT的启动后,了解了BOOT启动都干些什么事,我仿照UBOOT在KEIL软件下写功能超级简单的BOOT,就是完成外设的初始化, 初始化控制器串口1,经过验证,可以跳转到内核,内核能够实现printf打印输出。

资源截图

代码片段和文件信息

#define  BSP_GLOBALS
#include 
#include “system_stm32f10x.h“
#include “stm32f10x.h“
#include “header.h“

/*******************************************************************************
函数名:GPIO_Configuration
输  入:
输  出:
功能说明:

*/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

// 第1步:打开GPIOA GPIOC GPIOD GPIOF GPIOG的时钟
//  注意:这个地方可以一次性全打开

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 |RCC_APB2Periph_TIM1 | RCC_APB2Periph_AFIO 
| RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD 
| RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG 
| RCC_APB2Periph_SPI1 | RCC_APB2Periph_USART1 ENABLE);

    RCC_APB1PeriphClockCmd( RCC_APB1Periph_WWDG | RCC_APB1Periph_USART2 | RCC_APB1Periph_USART3
| RCC_APB1Periph_UART4 | RCC_APB1Periph_CAN | RCC_APB1Periph_BKP ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOF &GPIO_InitStructure); // F11=CPLD_IO1

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;   //net int
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD &GPIO_InitStructure);    //BUZZER
GPIO_SetBits(GPIOD  GPIO_Pin_7);   //BUZZER_OFF

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB &GPIO_InitStructure); // B1=CPLD_IO2

GPIO_SetBits(GPIOF  GPIO_Pin_11);
GPIO_SetBits(GPIOB  GPIO_Pin_1);
GPIO_ResetBits(GPIOBGPIO_Pin_0);



//配置PSAM 复位控制引脚 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG &GPIO_InitStructure);
GPIO_SetBits(GPIOC  GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3);

 //LED
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOG &GPIO_InitStructure);
GPIO_SetBits(GPIOG  GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14);

//Configure CAN pin: RX 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA &GPIO_InitStructure);

//Configure CAN pin: TX 
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA &GPIO_InitStructure);  

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-03-22 20:19  STM32F103_uCLinux_BOOT\
     文件         205  2012-06-11 19:09  STM32F103_uCLinux_BOOT\JlinkArm_RSUController.ini
     文件         205  2009-03-09 16:35  STM32F103_uCLinux_BOOT\JlinkArm_uCOSDemo.ini
     文件       47324  2014-02-24 17:32  STM32F103_uCLinux_BOOT\JlinkLog.txt
     文件         285  2010-11-03 18:54  STM32F103_uCLinux_BOOT\JlinkSettings.ini
     目录           0  2014-03-22 20:15  STM32F103_uCLinux_BOOT\List\
     目录           0  2014-03-22 20:15  STM32F103_uCLinux_BOOT\Obj\
     文件           0  2014-03-22 20:15  STM32F103_uCLinux_BOOT\Obj\STM32F103_uCLinux_BOOT.plg
     文件        3275  2014-02-24 17:26  STM32F103_uCLinux_BOOT\RSUController.BAT
     文件        5451  2014-03-22 20:19  STM32F103_uCLinux_BOOT\RSUController.Opt
     文件        4841  2014-02-24 17:28  STM32F103_uCLinux_BOOT\RSUController.Uv2
     文件       11222  2014-03-22 20:15  STM32F103_uCLinux_BOOT\RSUController_MyTarget.dep
     文件        5734  2014-02-24 17:32  STM32F103_uCLinux_BOOT\RSUController_Opt.Bak
     文件       39398  2014-02-24 17:28  STM32F103_uCLinux_BOOT\RSUController_RSUController.dep
     文件        4851  2014-02-24 17:27  STM32F103_uCLinux_BOOT\RSUController_Uv2.Bak
     目录           0  2014-03-22 15:07  STM32F103_uCLinux_BOOT\Source\
     目录           0  2014-03-22 15:07  STM32F103_uCLinux_BOOT\Source\BSP\
     文件        2999  2014-02-24 17:22  STM32F103_uCLinux_BOOT\Source\BSP\bsp.c
     文件        3415  2013-12-27 10:19  STM32F103_uCLinux_BOOT\Source\BSP\bsp.h
     文件       17206  2009-09-28 19:51  STM32F103_uCLinux_BOOT\Source\BSP\core_cm3.c
     文件       46535  2011-05-24 11:07  STM32F103_uCLinux_BOOT\Source\BSP\core_cm3.h
     文件       32286  2010-12-09 20:07  STM32F103_uCLinux_BOOT\Source\BSP\stm32f10x.h
     文件       30748  2014-01-15 08:17  STM32F103_uCLinux_BOOT\Source\BSP\system_stm32f10x.c
     文件        1959  2010-11-09 15:44  STM32F103_uCLinux_BOOT\Source\BSP\system_stm32f10x.h
     文件        2503  2014-02-21 17:24  STM32F103_uCLinux_BOOT\Source\BSP\usart.c
     文件        1262  2014-02-21 17:29  STM32F103_uCLinux_BOOT\Source\BSP\usart.h
     目录           0  2014-03-22 15:07  STM32F103_uCLinux_BOOT\Source\COMMON\
     目录           0  2014-03-22 15:07  STM32F103_uCLinux_BOOT\Source\COMMON\Inc\
     文件        4219  2014-02-21 17:28  STM32F103_uCLinux_BOOT\Source\COMMON\Inc\fsmc_nor.h
     文件        1792  2012-04-16 15:48  STM32F103_uCLinux_BOOT\Source\COMMON\Inc\fsmc_sram.h
     文件         665  2014-02-21 17:30  STM32F103_uCLinux_BOOT\Source\COMMON\Inc\header.h
............此处省略69个文件信息

评论

共有 条评论