Перейти к содержанию
    

Димон Безпарольный

Участник
  • Постов

    763
  • Зарегистрирован

  • Посещение

Репутация

-2 Плохой

Информация о Димон Безпарольный

  • Звание
    Знающий
    Знающий

Посетители профиля

5 624 просмотра профиля
  1. HEF4070 продам 90 штук. 8р штука. 700руб всего.
  2. МС78L09 180шт продам. По 3р штука всего 500р
  3. Микросхемы NE556 830 штук. 3 рубля штука. 2400руб всего.
  4. Галка стоит - эффекта нет. В других проектах галка стоит - эффект есть. Похоже что глюк. Разобрался. Снес напрочь файлы .uvguix, .uvoptx. И заработало. Некоторые сгенерировались заново. Спасибо за подсказку!
  5. Я про этот красный крест: В одном проекте он есть, в другом никак не могу найти где включать. Закипел. Подскажите пожалуйста.
  6. Так и сделал. Проблема ушла. uint8_t SST26_ReadStatusRegistr(void) //Функция читает байт статуса 26V016 { //Для запуска в Quad режиме применить функцию SST26_Enable_Quad(); QUAD_SPI_Enable; // QUAD_SPI_WaitBusy(); //Полим флаг Busy регистра QUADSPI->SR QUADSPI->DLR = 0; //Читаем 1 байт //По 1 проводу: // inst IMODE[1:0] ADMODE[1:0] ADSIZE[1:0] ABMODE[1:0] ABSIZE[1:0] DCYC[4:0] DMODE[1:0] FMODE[1:0] SIOO QUADSPI->CCR = 0x05| 1<<8 | 0<<10 | 0<<12 | 0<<14 | 0<<16 | 0<<18 | 1<<24 | 1<<26 | 0<<28; //По 4 проводам // QUADSPI->CCR = 3<<8 | 0<<10 | 0<<12 | 3<<14 | 0<<16 | 0<<18 | 3<<24 | 1<<26 | 0<<28; //HAL_Delay(1); for(int i = 0; i < 2 ; i++) { } uint8_t Data = DR_Read; //По 4 проводам не пошла QUAD_SPI_Disable; // return Data; // } // Оптимизация О3 прошла нормально. Вы были правы. Теперь чешу репу как уйти от этого кривого решения - задержка FOR мне не нравится.
  7. Забыл написать, да. STM32L471. Сейчас в шапку кину. Добавил. //QUAD_SPI_WaitBusy(); //Полим флаг Busy регистра QUADSPI->SR uint8_t Data = DR_Read; // QUAD_SPI_Disable; // Но с ожиданием вообще чехарда какая - то. Не читается и не пишется - пока некогда разбираться. Поясните где у меня не пойми что - я перепишу.
  8. Это немного другое. Ключевое здесь QUAD_SPI. Т.е. это ожидание готовности интерфейса и к микросхеме не имеет отношения. uint32_t QUAD_SPI_WaitBusy(void) //Функция полит флаг Busy регистра QUADSPI->SR { // unsigned long timerStart = HAL_GetTick(); // while (QUADSPI->SR & QUADSPI_SR_BUSY) //QUADSPI_SR_BUSY имеет иную полярность чем { //все остальные if ((HAL_GetTick() - timerStart) > 10) //Таймаут в милисекундах { // return 1; // } // }; // return 0; // } // До этого еще не дошел. Вечером посмотрю ассемблерный код. А это не volatile: #define DR_Read *(__IO uint8_t *) & QUADSPI->DR ? __IO и есть volatile.
  9. #define QUAD_SPI_Disable QUADSPI->CR &= ~(QUADSPI_CR_EN) #define QUAD_SPI_Enable QUADSPI->CR |= (QUADSPI_CR_EN) #define DR_Read *(__IO uint8_t *) & QUADSPI->DR Используется Status-flag polling mode. Делал и так: QUAD_SPI_WaitBusy(); //Полим флаг Busy регистра QUADSPI->SR uint8_t Data = DR_Read; Разницы нет. Оптимизацию также эта функция не проходит.
  10. Какую функцию? На момент написания темы не было известно вообще что происходит. Собственно вся тема - от безысходности была написана. Оптимизация нужна была чтобы ужать код - он не должен быть больше чем 0x4800. Это бутлоадер. Знал бы что здесь такие плаваю - не стал бы писать вообще. Это каким надо быть чтобы глумится и требовать к себе уважения. Вот такими глупостями я уже давно не занимаюсь.
  11. Жаль таких забанить в теме не могу. Толку никакого только срач один. Проблему локализовал до одной функции. Как тут намекают местные "знатоки" эта функция написана криво. Именно ее нельзя оптимизировать. Пока все что могу сказать. Нашел разбивая сишный файл на 2. Один с оптимизацией O3, другой О0. Перекидывая функции нашел. Не говори куда мне идти и я не скажу тебе что тебе делать.
  12. Разумеется, ничего не делать и критиковать проще всего. Я смотрю форум изрядно выродился раз тут такие "свои". Сюда приходят за советом, а получают высокомерный глум. Зачем? Тебя что все так сильно обижают что ты над другими глумишься? Описывать как я локализовал не буду - я смотрю тут критиканов полно. Для меня главное результат и он достигнут. Эти проблемы сначала надо выявить чтобы понять как не надо делать. Чем я и занялся. А ты видимо сразу умным родился или не понимаешь как приобретаются навыки? Да можешь не отвечать, все одно от тебя толку нет.
  13. Не знал что здесь все тоже самое что и на политических форумах. Интересно, зачем человек тратил самое драгоценное что у него есть и писало ЭТО. Пока локализовал глюк до двух файлов проекта используя индивидуальные настройки оптимизации.
  14. Любая оптимизация (О1-О3) делает проект глючным. Есть какой - нибудь подход чтобы выявить эти глюки? Может кто посоветует как применять Volatile?
×
×
  • Создать...