资源简介
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\Jli
文件 205 2009-03-09 16:35 STM32F103_uCLinux_BOOT\Jli
文件 47324 2014-02-24 17:32 STM32F103_uCLinux_BOOT\Jli
文件 285 2010-11-03 18:54 STM32F103_uCLinux_BOOT\Jli
目录 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个文件信息
- 上一篇:PB9 简单使用Echarts
- 下一篇:人寿保险系统
相关资源
- STM32F103RC+ADC+DMA多通道采样LCD显示
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- SpringBoot+H2+mybatis-plus59130
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- uboot到linux logo显示不间断 补丁
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- Bootloader源码分析(好东西).rar
- stm32 用SPI 方式读写 SDHC
评论
共有 条评论