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

2 minutes ago, MasterElectric said:

MementoMori подключаюсь к процессу, для начала просто поработаю с флешкой. CubeIDE + stm32h750vb + W25Q128 на втором банке. Буду держать в курсе.

Попробуйте то, с чего начинаю я и с чего у меня начинаются глюки:

/* Enable the QSPI interface clock */

RCC->AHB3ENR |= 0x00000002;

После того, как я это добавляю EraseSector перестает вызываться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, MementoMori сказал:

У вас или у Владислава не найдется в закромах примера под QSPI? компилирующегося. Работающего?

В папке Keil примеров хоть попой кушай. Вы авторам Keil не доверяете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

15 minutes ago, VladislavS said:

В папке Keil примеров хоть попой кушай. Вы авторам Keil не доверяете?

Вы издеваетесь? Или посты мои не читаете? Вы понимаете разницу между общим и частным. Примеры дают общее представление о принципах. А у меня проблема частная: 

Еще раз повторяю!!!!!!!

Я взял шаблон из папки кейла!  Для тех кто в танке - шаблон - это тот же пример, который вы мне предлагаете посмотреть, но без кода внутри функций.

Проверил! Keil его с успехом прогоняет, так как функции шаблона возвращают ноль всегда.

Я добавляю туда единственную строку, самую первую из пункта 5.2.1. мануала https://www.st.com/content/ccc/resource/technical/document/application_note/group0/b0/7e/46/a8/5e/c1/48/01/DM00227538/files/DM00227538.pdf/jcr:content/translations/en.DM00227538.pdf

которым Вы такого же вопрошающего тыкали в лицо на radiokote, спрашивая при этом, зачитал ли он его до дыр.

И после этой единственной строки шаблон перестает работать дальше функции init

Как работает шаблон, я уже понял, почитав эти самые примеры. Что нужно делать дальше? Реализовывать под конкретные контроллер и память. А на этом польза примеров из папки кейла заканчивается, потому что по F7 и n25q128 примеров нет.

Тогда зачем вы даете мне бесполезные советы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня такое чувство что я неправильно развел плату, взял все сигналы с BK2, теперь до меня стало доходить что оно вроде как работает только в Dual режиме( В single только с BK1. Или они независимые? В иллюстрациях явно не было такого варианта, но есть бит FSEL, надеюсь это то что надо.

 

Вопрос снят:In the case that the two Flash-memory devices are different, the Dual-Flash mode must be disabled (DFM = 0) and each Flash memory could be used in standalone, allowing either Flash 1 or Flash 2 to be enabled using QUADSPI_CR[7] FSEL bit.

 

Но как всегда в RM про этот бит ни слова, нашел аппликуху AN4760 QUADSPI interface description.

Изменено пользователем MasterElectric

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

52 minutes ago, MasterElectric said:

Но как всегда в RM про этот бит ни слова

А по-моему было там такое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, MementoMori сказал:

Вы издеваетесь?

У меня сложилось впечатление, что вам меня переспорить важнее чем флэшлоадер написать. Скачал проект, что на коте выложен. Открыл...

11.png.5151e43364d9036c9c234bcbd861c7bd.png

22.png.bc5879c0d51fe2cb1bab0f0642417998.png

Какой такой легаси? Какой ещё Cortex-M0 для STM32F746BG?

Открываю template из папки Keil и всё чистенько. Меняем таржет на Cortex-M7, добаволяем заголовочный файл процессора stm32f746xx.h и погнали программировать.

Там же, кстати, лежит проект Test, в котором показано как отлаживать алгоритм.

У меню уже по третьему заходу попкорн закончился при наблюдении этого триллера :) Как можно в одной структуре и трёх функциях заблудиться?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, VladislavS said:

Какой такой легаси? Какой ещё Cortex-M0 для STM32F746BG?

Меня в этот шаблон долго тыкали носом. Первое, что я сделал - попытался поменять - не вышло. Но компилятор схавал подключенные библиотеки для F7, код запустился в памяти, правильно дергал ножками. Я решил что это несущественно и подзабыл про этот факт, теперь к нему вернулся.

 

2 hours ago, VladislavS said:

Меняем таржет на Cortex-M7,

БИНГО!!!! А теперь попробуйте поменять!

Об этом другая тема - здесь и на радиокоте.  Не меняется.  Паки под F7 установлены, в обычных проектах F7 видится. При загрузке же шаблона сообщает об ошибке, об отсутствии необходимых паков. Предлагает скачать, дает ссылку. Скачиваю, устанавливаю - без ошибок.  Но выбрать F7 все равно не могу его нет.

У меня в software pack есть F7, а в deviceDatabase нет. Если я открываю проект с шаблоном их папки Keil - у меня кнопка SOftwarePack

WDso0MOV.png?download=1

 

НЕАКТИВНА

 

Да, мне уже сказали в соседней теме, что нужно пересоздавать проект, но я не пойму, КАК ПОЛУЧИЛОСЬ У ВАС с кейловским проектом выбрать F7:

2 hours ago, VladislavS said:

Открываю template из папки Keil и всё чистенько

Маааленькая просьба. Можете выложить этот Template из вашей папки Keil? у Вас версия keil какая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какая версия keil и какую версию компилятора используете?

Ругается и говорит некое волшебное сочетание "legacy pack"?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, Forger said:

Какая версия keil и какую версию компилятора используете?

Ругается и говорит некое волшебное сочетание "legacy pack"?

 

 

5.23.

"use default compiler version"

Да, говорит legacy pack, но не ругается, а предупреждает и предлагает скачать.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

49 minutes ago, Forger said:

и какую версию компилятора используете?

 

39 minutes ago, MementoMori said:

default compiler version

 

giphy.gif

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне таки скинули добрые люди тот же самый проект-шаблон из той же самой папки.

В списке появились необходимые контроллеры. Все!

Значит в моей 5.23 версии был какой-то косяк в этом проекте.

 

Forger, я ради интереса попереключал версии компилятора - ни к чему плохому это не привело. Так что ваш FacePalm - скорее в ваш адрес.

 

 

Только, как я и предполагал - проблемы это не решило.

 

Скачал я тот проект. В списке появились контроллеры F7 и ядро M7. Проблема выбора контроллера решена. 
Этот пустой проект при записи кейлом во внешнюю флеш не выводит ошибок, перебирает  адреса, думая что все ОК, так как функция стирания сектора возвращает 0.

Ура! Идем дальше! Читаем мануал:

QTEm9y5l.png?download=1

Делаем так же 

int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {
    
    /* Enable the QSPI interface clock */
RCC->AHB3ENR |= 0x00000002;
/* Reset QSPI peripheral */
RCC->AHB3RSTR |= (RCC_AHB3RSTR_QSPIRST); /* Reset */
RCC->AHB3RSTR &= ~(RCC_AHB3RSTR_QSPIRST); /* Release reset */
/* Enable Quad-SPI peripheral */
QUADSPI->CR = 0x00000001;
  /* Add your Code */
  return (0);                                  // Finished without Errors
}

Компилируем, запускаем основной проект, пытаемся прошивать - процесс останавливается на адресе 0x90000000 и выдает ошибку

Fw9240SZ.png?download=1

Добавлено after 1 minute 43 seconds:
Забыл сказать - вычисляя, на каком же этапе происходит затык, я пришел к тому, что уже на этапе включения тактирования

int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {
	    
    /* Enable the QSPI interface clock */
RCC->AHB3ENR |= 0x00000002;
  /* Add your Code */
  return (0);                                  // Finished without Errors
}
	

Этого достаточно, чтобы фунция EraseSector перестала вызываться.

Вот проект - работоспособный шаблон, который перестает работать как только включаешь тактирование QUADSPI

https://cloud.mail.ru/public/2zaK/2JA9N5d9L

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, MementoMori said:

я ради интереса попереключал версии компилятора - ни к чему плохому это не привело.

А это уже двойной facepalm, нет слов :dash2:

Но продолжайте дальше, попкорн пока еще не закончился ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, Forger said:

А это уже двойной facepalm, нет слов

Как бы там ни было, но первую проблему я решил без вас.

1 minute ago, Forger said:

Но продолжайте дальше,

Отправляйтесь в игнор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, MementoMori said:

Как бы там ни было, но первую проблему я решил без вас.

Эта "проблему" решается без посторонней помощи 99,9% разработчиков за 15..20 минут. Продолжайте, очень интересно чем это все закончится ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...