EDN首页   博客首页 用户登陆  |  注册
aaa
发表于 2010/2/7 11:52:12

0

关于投票

初学或使用LPC ARM芯片的福音

在代码仓库里找到了一个关于LPC ARM芯片的开源项目,觉得有点意思,

就在这里向大家推荐一下,呵呵。walnutcy

项目简介:

        使有图形化界面为LPC芯片 2119,2129,2292,2294,2194配置生成main、makefile,以及初始化参数设置文件。

项目网址:http://sourceforge.net/projects/genarm/

开发语言:Delphi/Kylix

开发平台:Windows

这里截取两个使用界面吧,如下:

系统分类: ARM  |  用户分类: GNU/GCC  |  标签: LPC ARM 配置工具 makefile  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(308) | 回复(0)

发表于 2008/10/25 11:43:42

4

关于投票

搭建我的智能GCC cortex M3 开发环境 (原创)

     

        最近在找JTAG相关的资料看,原打算找找OPEN-JTAG,并学习下,google出来的东西蛮多,无赖都是几年前的东西了,且没有更新,的确有点郁闷,就又找其他的开源项目,后发现simonqian 的变色龙Versaloon开源项目做得不错,就先动手搭建了一个开发平台,呵呵,因电脑前段时间重装系统,什么开发环境都没有,就装了一个CodeSourcery 2008 q3,主要是看simonqian的博客,觉得不错。

首先下载arm-2008q3-39-arm-none-eabi.exe,下载地址为:

http://www.codesourcery.com/gnu_toolchains/arm/portal/package3385/public/arm-none-eabi/arm-2008q3-39-arm-none-eabi.exe

直接安装就好了,没有什么文件名不能有空格等等的限制。注意安装的过程中,让其自动加入到Path吧,

装好后,在CMD里运行arm-none-eabi-gcc -v,测试下,没问题的话会显示GCC的版本为4.3.2

然后就是下载Versaloon的两个软件包啊,STM32USBBoot和Versaloon1.0_RC2

【固件】
Versaloon_Latest(2008-08-09)

【Bootloader】
STM32USBBoot(2008-07-19)

 

按照我的习惯,我把程全部重新定到project目录,这样看起来舒服点,如下图,

要注意的是这样改了以后,makefile就要改动一下,主要是几个路径的改,如果闲麻烦,可以直接用原来的目录结构,

当然,为了方便使用,实现智能化,是不是还得再做一个自动备份的批处理呢?

实现如下:--可以自动压缩并以当前时间命名存储

点击看大图

环境搭好了,接下就是该仔细研究下这个好东东了,呵呵,

 

系统分类: 单片机  |  用户分类: GNU/GCC  |  标签: CodeSourcery STM32 Cortex-M3 批处理 GCC  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(2348) | 回复(10)

发表于 2008/9/18 10:20:26

2

关于投票

将工程从ADS转至WinARM (原创)

花了一天时间才把工程从ADS转换到WinARM下,目前也只是编译通过,运行尚有问题.
代码可以在flash中运行,但初始化变量会出错,得到的data映射地址有问题,

因从windows开始学起得,对make及ld不是特别了解,看了两天书,了解了大部分语法,然后就在winarm带的例程中找了一个2318的工程,将make和ld文件拷贝到我的工程,由于我的芯片为mlc3890,不常见,就将makefile中对应做了更改,这里主要的改动部分是:
DIRARM, DIRARMBIN …等。改为我的winarm安装地址,
SRC,ASRC     源代码目录列表,
SUBMDL  要设为空,对应的 这里也要改动 LDFLAGS +=-TMLC3890-RAM.ld;

ld文件中需要更改的如下:
ENTRY(HandlerReset)
MEMORY
{
  ROM (rx) : ORIGIN = 0x00048000, LENGTH = 0x00038000
  RAM (rw) : ORIGIN = 0x01000000, LENGTH = 0x00100000
}
section的前边关键部分更改为:
  .boot :
  {
    ASM_Boot.o(.text)            /* Startup code */
    ASM_Scatter.o(.text)

    *(.text)                   /* remaining code */
    *(.rodata)                 /* read-only data (constants) */
    *(.rodata*)
    *(.glue_7)
    *(.glue_7t)   
  } > ROM
  . = ALIGN(4);
  _etext = . ;
  PROVIDE (etext = .);
  /* 这里这样写,是因为我需要利用scatter把初始化变量,这里还有问题,初始化不正常*/
  /* 主要是利用_data, _etext, _datalen*/

  .data  0x01000000 : AT (_etext)
  {
    _data = .;
    *(.data)
  } > RAM
  _datalen = (SIZEOF(.data));
  . = ALIGN(4);
  _edata = . ;
  PROVIDE (edata = .);
  /* 这里这样写,是因为我需要利用scatter把未初始化的RAM空间初始化为0,*/
  /* 主要是利用__bss_start, __bss_len
, _datalen*/
  .bss (NOLOAD) :
  {
    __bss_start = . ;
    __bss_start__ = . ;
    *(.bss)
    *(COMMON)
    . = ALIGN(4);
  } > RAM
  . = ALIGN(4);
  __bss_end__ = . ;
  PROVIDE (__bss_end = .);
  PROVIDE (__bss_len = . - __bss_start);

汇编部分更改,需要将标准的ARM汇编更改为GNU的ARM汇编,
主要对应如下: 
MACRO => .macro            ENDM => .endm   END => .end
AREA  => .text             CODE32 => .arm
EQU   => .equ
注释方法也不同,gnu arm 汇编行注释用 #, 代码尾注意用 @

用PN.exe新建一个工程,把代码及makefile,ld加入,即可通过tool/make all ,  tool/make clean 来编译了。

系统分类: ARM  |  用户分类: GNU/GCC  |  标签: winarm makefile ld GNU arm  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(1580) | 回复(0)

Total , Page /