Например TDA7294

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



Текущее время: Вт май 18, 2021 17:00:21

Часовой пояс: 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 
Говорящий с текстолитом
Аватар пользователя

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


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

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

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

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

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

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


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

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

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: STM32F103C8 перенос таблицы прерываний
СообщениеДобавлено: Пн окт 29, 2018 10:43:19 
Говорящий с текстолитом
Аватар пользователя

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

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


Вернуться наверх
 
Барьерные силовые клеммы от Degson – расширение складского ассортимента Компэл

Обновленная линейка барьерных клеммных блоков Degson, поступивших на склад Компэл, содержит широкий ряд клемм, подходящих для соединения проводников различного сечения (от 22AWG до 10AWG). Барьерные клеммные колодки сочетают в себе удобство, простоту и надежность соединения. Это достигается за счет ответственного производства и использования высококачественных материалов. Винтовые клеммные блоки барьерного типа Degson предназначены в первую очередь для коммутации в сильноточных цепях, например, в распределительных и измерительных системах.

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

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

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


Вернуться наверх
 
Вебинар «Экосистема MEAN WELL. Решения для любых задач электропитания» (20.05.2021)

Приглашаем 20 мая на вебинар, посвященный линейке поставок компании MEAN WELL и ее подходу к производству источников питания — как экосистемы продукции и услуг, которая позволяет подобрать оптимальный источник питания для любых задач электропитания. Рассмотрим весь спектр выпускаемой продукции MEAN WELL в области AC/DC-, DC/DC- и DC/AC-преобразователей с подробным разбором интересных и уникальных новинок, их применении и многое другое.

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

Карма: 11
Рейтинг сообщений: 265
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 1570
Рейтинг сообщения: 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?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: 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
Рейтинг сообщений: 131
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3128
Рейтинг сообщения: 0
Что находится в STM32F103C8 по адресу 0x3FF0?
Флеш начинается с 0x08000000.


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

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


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

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


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

Сейчас этот форум просматривают: COKPOWEHEU, Myp3ik, zon63 и гости: 11


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

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


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