Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
6 / 6 / 0
Регистрация: 07.08.2014
Сообщений: 175
1

Ошибки IAR компилятора для stm8

03.04.2016, 22:38. Показов 4469. Ответов 11

Author24 — интернет-сервис помощи студентам
Застрял в самом начале создания программы.
МК stm8s003f3. IAR 1.40.1

Листинг программы:
Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#define STM8S003
//#define _IAR_
 
#include "stm8s.h"
//#include "stm8s_clk.h"
 
/*Prototypes*/
void ADC_conversion(void);
void prepare (void);//MCU initialization
 
void ADC_conversion(void) {
ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, 
               ADC1_CHANNEL_4,
               ADC1_PRESSEL_FCPU_D2, 
               ADC1_EXTTRIG_TIM, 
               DISABLE,
               ADC1_ALIGN_RIGHT, 
               ADC1_SCHMITTTRIG_CHANNEL4, 
               DISABLE);
}
 
 
void prepare (void){
//Set PD3 as AF analog input.
GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);
}
 
int main( void )  { 
while(1) {
uint32_t Chip_Freq;
CLK_Source_TypeDef Chip_Source;
 
Chip_Freq = CLK_GetClockFreq ();
Chip_Source = CLK_GetSYSCLKSource();
CLK_DeInit(); 
 
__asm("nop");  
  
}}


Не видит таких функций в файле "stm8s_clk.h".

Код
Building configuration: test_stm8s003f3 - Debug 
Updating build tree... 
Linking 
Error[Li005]: no definition for "CLK_GetClockFreq" [referenced from D:\STM\IAR\STM8\test_8s003f3\Debug\Obj\main.o] 
Error[Li005]: no definition for "CLK_GetSYSCLKSource" [referenced from D:\STM\IAR\STM8\test_8s003f3\Debug\Obj\main.o] 
Error[Li005]: no definition for "CLK_DeInit" [referenced from D:\STM\IAR\STM8\test_8s003f3\Debug\Obj\main.o] 
Error while running Linker 
 
Total number of errors: 3 
Total number of warnings: 0
Пробовал отключать оптимизацию.

Добавлено через 9 минут
И так чего то ни одна функция не работает =(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2016, 22:38
Ответы с готовыми решениями:

STM8,IAR,STM8S_StdPeriph_Lib
Месяц назад начал изучать микроконтроллеры,сначала AVR (Arduino),сейчас STM8 (IAR). Написал...

Прерывания STM8 в IAR
Нужна помощь. Не могу понять, как использовать прерывания в стм8 в ИАР(оно и видно из названия)....

IAR, STM8. Оптимизатор, чересчур оптимизирует код
Есть массив во флеш: const unsigned char Pexel_1 =...

кто сделает экспорт SDCC STM8 -> IAR STM8 ?
а то труды пропадут... https://github.com/eddyem/STM8_samples

Новый IAR для STM8
Мне пришла рассылка - вышла новая версия 2.1 IAR для STM8. Бесплатная лицензия как обычно до 8к...

11
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
03.04.2016, 22:45 2
Лень объяснять, Вот шаблон набросал.
Проект в папке автономен, но
Открывайте через Template_STM8.eww
Нельзя менять название папок
P.S. Проект настроен по минимуму, только порты и генератор, добавите остальные модули сами
Вложения
Тип файла: 7z TemplateStm8.7z (3.95 Мб, 22 просмотров)
1
6 / 6 / 0
Регистрация: 07.08.2014
Сообщений: 175
03.04.2016, 23:05  [ТС] 3
Витальич, Однако пишет что вокрспэйс был создан в более новой версии и не может быть открыт.
Пойду спать, завтра поковыряю, может получится на STVD + Cosmic компайлер.
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
04.04.2016, 07:30 4
таки сами создайте https://www.youtube.com/watch?v=KLV86Kbo2o4
извиняюсь за качество
1
6 / 6 / 0
Регистрация: 07.08.2014
Сообщений: 175
04.04.2016, 09:44  [ТС] 5
Витальич, класс , спасибо. Добавил .с файлы к проэкту, добавил функцию assert_failed и вроде все заработало. Что это за функция?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
04.04.2016, 11:04 6
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
Что это за функция?
обработчик "исключений"(правильней ассертов) стандартной библиотеки периферии.
0
6 / 6 / 0
Регистрация: 07.08.2014
Сообщений: 175
04.04.2016, 18:49  [ТС] 7
Витальич, он проверяет правильность аргументов и если что зависает?! Я имел ввиду почему в этой самой библиотеке не было такого обработчика?
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
04.04.2016, 22:36 8
Цитата Сообщение от Dmirtiy Vovk Посмотреть сообщение
он проверяет правильность аргументов
ДА! И уходит в бесконечный цикл.
0
6 / 6 / 0
Регистрация: 07.08.2014
Сообщений: 175
05.04.2016, 16:54  [ТС] 9
Витальич, Дядь, у меня новая проблемка, то ли лыжи не едут, то ли я...

Таймер1 хочу исп. как счетчик задержек. У него есть 16-бит предделитель. Всё вроде по феншую сделал, однако таймер оч. быстро отрабатывает и за секунду наматывает "надцать" тысячь раз. Ощущение что не реагирует на предделитель. Как я уже не извращался... Оптимизация откл.

Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//#define STM8S003
//#define _IAR_
 
#include "stm8s.h"
 
 
//ADC - PD3, EXTI - PB4
 
uint16_t counter=0;
 
/*Prototypes*/
void ADC_conversion(void);
void prepare (void);//MCU initialization
volatile  void delay_ms(uint16_t delay); //ms delay timer
 
 
 
volatile void delay_ms(uint16_t delay)
{
     TIM1->PSCRL = 0x7F;//Prescaller 16 000 000/ 16 000 = 1000 ticks per sec
     TIM1->PSCRH = 0x3E;
     TIM1->ARRL = (uint8_t)(0xFF & delay);
     TIM1->ARRH = (uint8_t)(delay >> 8);
     TIM1->EGR |= (uint8_t)TIM1_PSCRELOADMODE_UPDATE;// Update on event
     TIM1->CR1 |= (uint8_t)TIM1_CR1_OPM; //Timer in One Pulse Mode
     TIM1->CR1 |= TIM1_CR1_CEN;          //Start timer1
     while ((TIM1->CR1&TIM1_CR1_CEN)!=0){};//While goind timer1
}
     
 
int main( void )  { 
uint32_t Chip_Freq;
CLK_Source_TypeDef Chip_Source;
prepare();
Chip_Freq = CLK_GetClockFreq ();
Chip_Source = CLK_GetSYSCLKSource();
__asm("nop");
 
while(1) {
 
delay_ms(1000);  
counter++;
GPIO_WriteReverse(GPIOA, GPIO_PIN_3);
 
__asm("nop");
 
}
}
 
 
 
#ifdef USE_FULL_ASSERT
void assert_failed(uint8_t* file, uint32_t line) {
  while(1){
  __asm("nop");
  }
}
#endif
 
void ADC_conversion(void) {
ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, 
               ADC1_CHANNEL_4,
               ADC1_PRESSEL_FCPU_D2, 
               ADC1_EXTTRIG_TIM, 
               DISABLE,
               ADC1_ALIGN_RIGHT, 
               ADC1_SCHMITTTRIG_CHANNEL4, 
               DISABLE);
}
 
 
void prepare (void){
GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_SLOW);//PA3 as out PP 2MHz , high?
GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_IN_FL_NO_IT);//Set PD3 as AF analog input_NO_interrupts.
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_IN_FL_IT);//Set PB4 as AF analog input_with_interrupts.
CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//Power up =)
}
0
1280 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,883
05.04.2016, 17:13 10
А на какой частоте ядро сейчас крутиться?
вот от встроенного на 16мГц
C
1
2
3
  CLK_DeInit();
  CLK_HSICmd(ENABLE);
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
1
6 / 6 / 0
Регистрация: 07.08.2014
Сообщений: 175
05.04.2016, 17:13  [ТС] 11
Витальич,А, всё , понял, сперва записывается старший байт в регистрах TIM1->ARR и TIM1->PSCR.
Получалось что в окошках просмотря регистров были правильные значения, но там внутри есть "настоящие" регистры, не буферы, ну вы пониммаете...
0
Витальич
05.04.2016, 17:35     Ошибки IAR компилятора для stm8
  #12

Не по теме:

Смотрю Вы по потихоньку с библиотеки слезаете, молодца.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.04.2016, 17:35

Загрузчик под IAR для STM8
Задача: написать свой загрузчик(встроенный не канает), в инете нарыл примеры, но для COSMIC,...

объявление enum типа в IAR для STM8
Господа, я привык к такому объявлению типа typedef enum algrthmStepType { risingStep, deadStep };...

Ошибка в новых (1.4 и выше) IAR-ах для STM8: Error[Lp011]
Доброго всем времени суток. При переходе с IAR для STM8 версии 1.31.1 на версию 1.42.2 и выше,...

STM8 + IAR - создание файла для размещения во внешней flash
Привет всем! В проекте исползуется STM8L151C6. Необходимо использовать большое кол-во шрифтов и...

IAR for STM8 V2.10
Коллеги, ни у кого не завалялась инсталляха IAR for STM8 V2.10? Можно и не крякнутый. На...

STM8 IAR... нюансы
Написал свой криптозагрузчик... сделал все красиво, с индикацией на дисплее режима ожидания,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru