реклама на сайте
подробности

 
 
> STM32 Использование стандартной библиотеки, Не узнает имя регистров
BlackOps
сообщение Jan 27 2012, 08:07
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121



Использую под Линукс: Eclipse + GNU ARM PLUGIN + CodeSourcery LITE

скачал с сайта ST следующие файлы, и включил их в проект:
core_cm3.h
startup_stm32f10x_hd.s
stm32f10x.h
system_stm32f10x.h

и добавил еще вот такой линкер скрипт:
Код
MEMORY
{
    sram (W!RX) : ORIGIN = 0x20000000, LENGTH = 64k
    flash (RX) : ORIGIN = 0x08000000, LENGTH = 512k
}

SECTIONS
{  
    .text :
    {
        . = ALIGN(4);
        _text = .;
        PROVIDE(stext = .);
        KEEP(*(.isr_vector))
        KEEP(*(.init))
        *(.text .text.*)        
        *(.rodata .rodata.*)        
        *(.gnu.linkonce.t.*)
        *(.glue_7)
        *(.glue_7t)
        *(.gcc_except_table)
        *(.gnu.linkonce.r.*)
        . = ALIGN(4);
        _etext = .;
        _sidata = _etext;
        PROVIDE(etext = .);  
             _fini = .;
                *(.fini)

    } >flash

    .data : AT (_etext)
    {
        . = ALIGN(4);
        _sdata = .;
        *(.ramfunc .ramfunc.* .fastrun .fastrun.*)
        *(.data .data.*)
        *(.gnu.linkonce.d.*)
        . = ALIGN(4);
        _edata = .;
    } >sram
        
        .ARM.extab :
        {
            *(.ARM.extab*)
        } >sram
        
        __exidx_start = .;
        .ARM.exidx :
        {
            *(.ARM.exidx*)
        } >sram
        __exidx_end = .;
        
    .bss (NOLOAD) : {
        . = ALIGN(4);
        /* This is used by the startup in order to initialize the .bss secion */
        _sbss = .;
        *(.bss .bss.*)
        *(.gnu.linkonce.b.*)
        *(COMMON)
        . = ALIGN(4);        
        _ebss = .;
    } >sram
    
    end = .;
    PROVIDE( _estack = 0x20010000 );
}


вот простейшая программа где я хочу сконфигурировать порт А:
Код
#include <stdio.h>
#include "stm32f10x.h"



int main () {
// int i;
// int n;


    GPIOA->CRL = 0x0;



  while(1);
  return 0;
}


почемуто он мне выдает:
Type 'GPIOA' could not be resolved main.c /armtest1 line 11 Semantic Error


странно, ведь в файле stm32f10x.h есть корректное описание данного порта, и в основную программу этот файл включен.

когда компилю без этой строчки, то проект собирается нормально и создается исполняемый файл.

что может быть не так?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
редактор
сообщение Jan 30 2012, 12:30
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 9-06-07
Пользователь №: 28 315



Возможно компилятор не понимает обращение -> (через стрелку), поскольку файл main.c (сишный без плюсов), и такой штуки в стандарте нет.
Изменить расширение файла на cpp или попробовать (*PORTA).CRL = 0; // как то так


--------------------
Хорошую систему делают из стандартных блоков нестандартно мыслящие инженеры.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 30 2012, 12:49
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(редактор @ Jan 30 2012, 16:30) *
Возможно компилятор не понимает обращение -> (через стрелку), поскольку файл main.c (сишный без плюсов), и такой штуки в стандарте нет.

"Такая штука" есть.

А ругается он на __IO, надо полагать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- BlackOps   STM32 Использование стандартной библиотеки   Jan 27 2012, 08:07
- - adnega   А как компиллятор узнает ядро? Ключики -mcpu=corte...   Jan 27 2012, 08:40
|- - BlackOps   Цитата(adnega @ Jan 27 2012, 13:40) А как...   Jan 27 2012, 15:18
|- - AHTOXA   Добавьте в начале файла строчку #include "stm...   Jan 28 2012, 06:34
|- - BlackOps   Цитата(AHTOXA @ Jan 28 2012, 11:34) Добав...   Jan 30 2012, 01:07
|- - AHTOXA   Ну чудес-то не бывает GPIOA описан в файле stm32f1...   Jan 30 2012, 05:39
|- - BlackOps   Цитата(AHTOXA @ Jan 30 2012, 10:39) Как с...   Jan 30 2012, 09:13
|- - AHTOXA   Может там ещё что-то компилятор выдаёт, до этой ст...   Jan 30 2012, 09:29
|- - BlackOps   Цитата(AHTOXA @ Jan 30 2012, 14:29) Может...   Jan 31 2012, 02:13
|- - AHTOXA   Цитата(BlackOps @ Jan 31 2012, 08:13) ***...   Jan 31 2012, 02:36
|- - BlackOps   Цитата(AHTOXA @ Jan 31 2012, 06:36) Так у...   Jan 31 2012, 07:06
- - _Ivan_33   http://h0rr0rr-drag0n.blogspot.com/2011/08...inux-...   Jan 27 2012, 08:43
|- - ViKo   Цитата(aaarrr @ Jan 30 2012, 15:49) А руг...   Jan 31 2012, 07:51
- - Сергей Борщ   Простите что влезаю, но в вашем скрипте ошибка. О...   Jan 31 2012, 07:14


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01424 секунд с 7
ELECTRONIX ©2004-2016