• ddl888
    了解作者
  • C/C++
    开发工具
  • 690KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 5
    下载次数
  • 2018-11-14 16:16
    上传日期
S32K144最基础的DEMO例程,包含头文件,启动文件,时钟配置。等等。
S32K144DEMO.rar
内容介绍
/* * Copyright (c) 2013 - 2014, Freescale Semiconductor, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * o Redistributions of source code must retain the above copyright notice, this list * of conditions and the following disclaimer. * * o Redistributions in binary form must reproduce the above copyright notice, this * list of conditions and the following disclaimer in the documentation and/or * other materials provided with the distribution. * * o Neither the name of Freescale Semiconductor, Inc. nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "startup.h" #include "Platform_Types.h" #include "S32K144.h" #if (defined(__ICCARM__)) #pragma section = ".data" #pragma section = ".data_init" #pragma section = ".bss" #endif /******************************************************************************* * Code ******************************************************************************/ /*FUNCTION********************************************************************** * * Function Name : init_data_bss * Description : Make necessary initializations for RAM. * - Copy initialized data from ROM to RAM. * - Clear the zero-initialized data section. * - Copy the vector table from ROM to RAM. This could be an option. * * Tool Chians: * __GNUC__ : GCC * __CC_ARM : KEIL * __ICCARM__ : IAR * *END**************************************************************************/ void init_data_bss(void) { uint32 n; /* Addresses for VECTOR_TABLE and VECTOR_RAM come from the linker file */ #if defined(__CC_ARM) extern uint32 Image$$VECTOR_ROM$$Base[]; extern uint32 Image$$VECTOR_RAM$$Base[]; extern uint32 Image$$RW_m_data$$Base[]; #define __VECTOR_TABLE Image$$VECTOR_ROM$$Base #define __VECTOR_RAM Image$$VECTOR_RAM$$Base #define __RAM_VECTOR_TABLE_SIZE (((uint32)Image$$RW_m_data$$Base - (uint32)Image$$VECTOR_RAM$$Base)) #elif defined(__ICCARM__) extern uint32 __RAM_VECTOR_TABLE_SIZE[]; extern uint32 __VECTOR_TABLE[]; extern uint32 __VECTOR_RAM[]; #elif defined(__GNUC__) extern uint32 __VECTOR_TABLE[]; extern uint32 __VECTOR_RAM[]; extern uint32 __RAM_VECTOR_TABLE_SIZE_BYTES[]; uint32 __RAM_VECTOR_TABLE_SIZE = (uint32)(__RAM_VECTOR_TABLE_SIZE_BYTES); #endif if (__VECTOR_RAM != __VECTOR_TABLE) { /* Copy the vector table from ROM to RAM */ for (n = 0; n < ((uint32)__RAM_VECTOR_TABLE_SIZE)/sizeof(uint32); n++) { __VECTOR_RAM[n] = __VECTOR_TABLE[n]; } /* Point the VTOR to the position of vector table */ SystemControl->VTOR = (uint32) __VECTOR_RAM; } else { /* Point the VTOR to the position of vector table */ SystemControl->VTOR = (uint32) __VECTOR_TABLE; } #if !defined(__CC_ARM) && !defined(__ICCARM__) /* Declare pointers for various data sections. These pointers * are initialized using values pulled in from the linker file */ uint8 * data_ram, * data_rom, * data_rom_end; uint8 * bss_start, * bss_end; /* Get the addresses for the .data section (initialized data section) */ #if defined(__GNUC__) extern uint32 __DATA_ROM[]; extern uint32 __DATA_RAM[]; extern char __DATA_END[]; data_ram = (uint8 *)__DATA_RAM; data_rom = (uint8 *)__DATA_ROM; data_rom_end = (uint8 *)__DATA_END; n = data_rom_end - data_rom; #endif /* Copy initialized data from ROM to RAM */ while (n--) { *data_ram++ = *data_rom++; } /* Get the addresses for the .bss section (zero-initialized data) */ #if defined(__GNUC__) extern char __START_BSS[]; extern char __END_BSS[]; bss_start = (uint8 *)__START_BSS; bss_end = (uint8 *)__END_BSS; #endif /* Clear the zero-initialized data section */ n = bss_end - bss_start; while(n--) { *bss_start++ = 0; } #endif /* !__CC_ARM && !__ICCARM__*/ } /******************************************************************************* * EOF ******************************************************************************/
评论
    相关推荐
    • test.s32k144 iar demo.zip
      s32k144 iar demo 工程 及说明
    • sample_common.zip
      hi3515采样例程,完全源代码,很好用的。
    • S32K144_FRDM_CAN_DemoTxRx.zip
      S32K144_ IAR开发 CAN TxRx例程
    • vio.rar
      HI3520d,HI3515C视频输入输出例程
    • demo_apps.rar
      适用于IDE的S32K例程,This folder contains demo applications for various use cases. The example documentation can be found in the S32 SDK documentation at Examples and Demos section. (<SDK_PATH>/doc/...
    • S32K144_DEMO-O.rar
      名称:CQU_S32K144_DEV开发板/评估板---综合应用DEMO例程 * 功能:(1) 启用PLL并设定系统时钟频率为160MHz(基于芯片外部的8MHz的XOSC晶振) * (2) 运用GPIO功能,完成4个LED灯输出控制和4个按键SW的输入检测 * (3) ...
    • Proteus7.12.rar
      Proteus7.12完美破解版.rar电路仿真软件很好用可以仿真单片数字模拟电路
    • VHDL 的实例程序,共44个.rar
      经典VHDL 的实例程序,共44个!要下载的尽快
    • USBtoRS232Driver.rar
      USB转串口驱动程序,可以用在笔记本电脑上,方便的通过串口给单片机下载程序!
    • 模糊控制程序.rar
      模糊PID控制程序的源码,是作业,有讲解,