Например TDA7294

Форум РадиоКот • Просмотр темы - STM32F103C8 перенос таблицы прерываний
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Вт окт 27, 2020 03:43:01

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 57 ]    , 2,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 10:23:50 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
В дереве проекта слева внизу. Пока не закомментите - счастья не будет. Изображение

Добавлено after 2 minutes 20 seconds:
VladislavS ,
Цитата:
Вы же его до загрузки лоадером всё равно будете отлаживать.
- и чё? А картинка 5 я для кого рисовал?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 10:33:59 
Это не хвост, это антенна
Аватар пользователя

Карма: 10
Рейтинг сообщений: 215
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1330
Рейтинг сообщения: 0
А причём тут картинка 5? Ну вот скомпилировал ты приложение с адреса 0x1ABCDEF0, загрузил/прошил его для отладки по этому адресу и?


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 10:39:50 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
И стартуешь Debug. Если загрузчик залит, он кидает на стартовый адрес основной проги и всё прекрасно отлаживается. Забыл сказать, что в данный момент именно так и поступаю. Главное, загрузчик не затереть при заливке из кейла, а чтобы этого не произошло - картинка 5.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 10:43:19 
Это не хвост, это антенна
Аватар пользователя

Карма: 10
Рейтинг сообщений: 215
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1330
Рейтинг сообщения: 0
Ну вот, а можно без всяких загрузчиков просто запустить приложение и оно само под себя всё настроит.

PS: Точно по той же причине не стоит рассчитывать на начальное состояние всех регистров при инициализации периферии - мало ли кто и как тебя запустил и что делал до этого.


Вернуться наверх
 
Вебинар «STM32L5. Секреты оценки энергопотребления» (05.11.2020)

Компания КОМПЭЛ приглашает 5 ноября принять участие в вебинаре, посвященном первому семейству МК STM32L5 на ядре Cortex-M33. На вебинаре будет рассказано об ошибках при расчете энергопотребления МК с помощью отладки STM32L562E-DK. Отладки STM32L562E-DK будут разыгрываться среди участников. Информация об условиях участия будет озвучена на вебинаре.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 10:54:55 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
Цитата:
Точно по той же причине не стоит рассчитывать на начальное состояние всех регистров при инициализации периферии - мало ли кто и как тебя запустил и что делал до этого.
Чёт не припомню из практики, не из своей, не из практики коллег, чтобы хоть в одном STMовском МК при старте был хоть один регистр не по дефолту. Всё, как доктор в ДШ прописал. У них есть свои баги, но они связаны не с этим и давно все ворэраунды описаны в ерате. Так что не сочиняйте сказки. Тем более, что они не по теме.

Добавлено after 2 minutes 22 seconds:
ТС, давайте добивать Вашу проблему. Нашли system_stm32f10x.h?


Вернуться наверх
 
Управляй таймером с пикосекундным разрешением!

Для систем с цифровым управлением одним из важнейших параметров является разрешение. Чем точнее выполняется генерация и измерение сигналов, тем выше будет качество управления. Это касается таких приложений как источники питания, мощные инверторы, системы освещения, управление электродвигателями и прочие. Специально для ответственных задач компания STMicroelectronics предлагает использовать микроконтроллеры STM32 со встроенным таймером повышенного разрешения HRTIM.

Читать статью>>
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 10:59:39 
Это не хвост, это антенна
Аватар пользователя

Карма: 10
Рейтинг сообщений: 215
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1330
Рейтинг сообщения: 0
Так что не сочиняйте сказки. Тем более, что они не по теме.
Как раз таки по теме! Ваш загрузчик вернул все регистры которые изменил в процессе работы?


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 11:09:36 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
Мой загрузчик не затрагивает никакие регистры, если не нажато сочетание кнопок, кроме тех, которые используются для этих кнопок. Да, эти входы у меня настроены в загрузчике и их настроику я не сбрасываю перед джампом намеренно, ибо я их продолжаю юзать в основной программе, так что никаких проблем не возникает. А если речь идёт о разработке серьёзного софта в нормальном КБ, где один человек или группа отвечают за написание загрузчика, другая группа отвечает за основной софт и, по вашему мнению, эти группы между собой никак не общаются и первая группа пишет всякий мусор в регистры, не сбрасывая их перед джампом в основную программу - это опять же ваши домыслы. Существует на этот случай ТЗ, где согласуются обе части: загрузчик и основная программа и в большинстве случаев просто НЕНУЖНО сбрасывать некоторые регистры. Причём, это ТЗ читают обе группы разработчиков.


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 11:10:22 
Первый раз сказал Мяу!

Зарегистрирован: Вт окт 23, 2018 09:10:53
Сообщений: 20
Рейтинг сообщения: 0
Цитата:
Точно по той же причине не стоит рассчитывать на начальное состояние всех регистров при инициализации периферии - мало ли кто и как тебя запустил и что делал до этого.
Чёт не припомню из практики, не из своей, не из практики коллег, чтобы хоть в одном STMовском МК при старте был хоть один регистр не по дефолту. Всё, как доктор в ДШ прописал. У них есть свои баги, но они связаны не с этим и давно все ворэраунды описаны в ерате. Так что не сочиняйте сказки. Тем более, что они не по теме.

Добавлено after 2 minutes 22 seconds:
ТС, давайте добивать Вашу проблему. Нашли system_stm32f10x.h?

все нашел, закомментил, ничего не меняется...


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 11:11:16 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
В таком случае, оба проекта в студию...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 11:30:04 
Первый раз сказал Мяу!

Зарегистрирован: Вт окт 23, 2018 09:10:53
Сообщений: 20
Рейтинг сообщения: 0
http://rgho.st/8Kw5cvfGx - бутлоадер находится в Uart_lib.c
http://rgho.st/7VnSVNmLW - основной проект.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 11:42:44 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
Основную прогу ещё не смотрел. Где здесь джамп?
Код:
int main(void)
{
    uint32_t i;
   //uint8_t CData[8];
   
   //System_Clock_Init();
 // System_Timer_Init();
   My_Uart1_Init();
   My_Uart2_Init();
   My_Uart3_Init();

   i = flash_read(0xE000ED08);
   //Send_Uart_N(2,i);
   
   while(1)
   {   
    Delay_ms(1);      
      
      
   // LedTime=My_ADC1_Read(10);
      
   }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 11:49:27 
Первый раз сказал Мяу!

Зарегистрирован: Вт окт 23, 2018 09:10:53
Сообщений: 20
Рейтинг сообщения: 0
Основную прогу ещё не смотрел. Где здесь джамп?
Код:
int main(void)
{
    uint32_t i;
   //uint8_t CData[8];
   
   //System_Clock_Init();
 // System_Timer_Init();
   My_Uart1_Init();
   My_Uart2_Init();
   My_Uart3_Init();

   i = flash_read(0xE000ED08);
   //Send_Uart_N(2,i);
   
   while(1)
   {   
    Delay_ms(1);      
      
      
   // LedTime=My_ADC1_Read(10);
      
   }
}


Открой файл Uart_lib.c, там прописан джамп


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 11:57:12 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
И? У тебя нигде нет вызова
Код:
Go_to_App(void);


Добавлено after 1 minute 26 seconds:
Также не вижу условий входа в загрузчик/основную программу

Добавлено after 2 minutes 22 seconds:
Нашёл.

Добавлено after 1 minute 15 seconds:
Функций у тебя наворочено, фиг проследишь. Попробуй для отладки сделать вход в загрузчик/основную программу по кнопке при включении


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 12:02:18 
Первый раз сказал Мяу!

Зарегистрирован: Вт окт 23, 2018 09:10:53
Сообщений: 20
Рейтинг сообщения: 0
Функций у тебя наворочено, фиг проследишь. Попробуй для отладки сделать вход в загрузчик/основную программу по кнопке при включении

Кнопка подключена. У меня при включении кнопки, срабатывает вход в прерывание и зажигается диод.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 12:19:51 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
Код:
 
void USART2_INIT(){
   
   RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_AFIOEN;    // GPIOA Clock ON. Alter function clock ON
   
    //TX
   GPIOA->CRL   &= ~GPIO_CRL_CNF2;       // Clear CNF bit 9
   GPIOA->CRL   |=  GPIO_CRL_CNF2_1;   // Set CNF bit 9 to 10 - AFIO Push-Pull
   GPIOA->CRL   |=  GPIO_CRL_MODE2_0;   // Set MODE bit 9 to Mode 01 = 10MHz
   
    GPIOA->BSRR |= GPIO_BSRR_BS2;

   //RX
   GPIOA->CRL   &= ~GPIO_CRL_CNF3;      // Clear CNF bit 9
   GPIOA->CRL   |=  GPIO_CRL_CNF3_0;   // Set CNF bit 9 to 01 = HiZ
   GPIOA->CRL   &= ~GPIO_CRL_MODE3;      // Set MODE bit 9 to Mode 01 = 10MHz
   
    RCC->APB1ENR |= RCC_APB1ENR_USART2EN;      //USART1 Clock ON
   
   USART2->BRR = 0x139;                  // Bodrate for 115000 on 36 Mhz
   USART2->CR1 |= USART_CR1_UE | USART_CR1_RE | USART_CR1_RXNEIE | USART_CR1_TE;   // USART1 ON, TX ON, RX ON

   NVIC_EnableIRQ(USART2_IRQn);      // USART2 interrupt enable
}

void USART2_TX(uint8_t data){
    while(!(USART2->SR & USART_SR_TC));
   USART2->DR = data;
   
}

void send_text(char *data){

    while(*data!='\0'){
        USART2_TX(*data);
        data++;
    }
}

int main(){
    GPIO_Init();

    for(uint32_t i=0; i<36000; i++);
   
    if(!(GPIOA->IDR & GPIO_IDR_IDR1)){

        SystemInit();
     
        USART2_INIT();
       
        __enable_irq();
       
        USART2_TX(13);
        send_text("Programming mode. Erease firmware? Y/N");
               
    }
   
    else{
        GoToUserApp();
    }
   
    while(1);

}


Добавлено after 16 minutes 7 seconds:
Необходимо резюме всего вышесказанного:

1) Загружен свой бутлоадер
2) Загружена основная программа
3) МК заходит в бутлоадер и пишет основную прогу в память
4) При перезагрузке МК не переходит на основную прогу

что-то в таком духе. Дамп с флэша МК снимал?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 12:26:34 
Первый раз сказал Мяу!

Зарегистрирован: Вт окт 23, 2018 09:10:53
Сообщений: 20
Рейтинг сообщения: 0
Все верно, у меня не получается перейти по адресу зашитой программы. Нет никакой реакции на кнопку: ни прерывания, ни зажигания светодиода.
Дамп не пробовал снимать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 12:37:33 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
Дамп в студию. Вечером скеч накидаю, проверишь у себя.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 13:09:09 
Первый раз сказал Мяу!

Зарегистрирован: Вт окт 23, 2018 09:10:53
Сообщений: 20
Рейтинг сообщения: 0
http://rgho.st/8gq7mGbP2
http://rgho.st/7DNWPdmDS
http://rgho.st/7HCgXdvCV
частичный дамп


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 15:01:28 
Друг Кота
Аватар пользователя

Карма: 3
Рейтинг сообщений: 114
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3007
Рейтинг сообщения: 0
Что находится в STM32F103C8 по адресу 0x3FF0?
Флеш начинается с 0x08000000.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 15:06:06 
Встал на лапы

Зарегистрирован: Сб янв 11, 2014 21:25:55
Сообщений: 113
Рейтинг сообщения: 0
У него начальный адрес основной проги 0x8004000. 16 кб загрузчик занимает


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 57 ]    , 2,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y