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

Новые ARM Cortex-M7 на 600 МГц

24 минуты назад, novikovfb сказал:

обычно они отличаются температурным диапазоном, т.е. чипы либо проходят испытания в расширенном диапазоне температур, либо - нет

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

2 минуты назад, sergvks сказал:

Судя по рефернес-мануалу отличий нет. Вопрос будет ли Industrial стабильно работать при комнатной температуре на частоте 500Мег.

будет, если отводить лишнее тепло, не перегревать его.

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


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

В процессе возник вопрос - eFUSE можно прошивать чем-то через swd или только через загрузчик самого проца usb-hid и com-порт ?

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


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

On 6/23/2020 at 10:56 AM, sergvks said:

В процессе возник вопрос - eFUSE можно прошивать чем-то через swd или только через загрузчик самого проца usb-hid и com-порт ?

отвечу сам, может кому пригодитсяvoid setFuses(void) {

Spoiler

 

     // Write Fuses, burn BT_FUSE_SEL (disable BT_CFG_xx pins) and burn FORCE_INTERNAL_BOOT (so that BOOT_MODE0 and BOOT_MODE1 inputs does not matter any more)
     //
     // Value at the start of line is [xx] which is number of nS at 132 MHz with the timing values below

     // [151]     WAIT = tSP_RD=(WAIT+1)/ipg_clk_freq, should be >= 150 ns
     // [106]     RELAX = tSP_PGM=tHP_PGM=(RELAX+1)/ipg_clk_freq, should be >= 100ns
     // [10015]     STROBE_PROG = tPGM = [(STROBE_PROG+1) – 2?(RELAX_PROG+1)] / ipg_clk_freq (The tPGM should be configured within the range of 9000 ns < tPGM < 11000 ns, while its recommended value is 10000 ns)
     // [45]          STROBE_READ = tRD= [(STROBE_READ+1) – 2?(RELAX_READ+1)] / ipg_clk_freq (The tRD is required to be larger than 40 ns)
     //
     // [15.2]     TIMING2.RELAX_READ = (RELAX_READ+1) / ipg_clk_freq, should be >= 10 ns.
     // [1000]     TIMING2.RELAX_PROG = tSP_PG_AVDD = tHP_PG_AVDD = (RELAX_PROG+1)/ipg_clk_freq, should be >= 1000 ns.
     
     // In TIMING2, RELAX_READ is set to 0x01 (1) and RELAX_PROG is 0x92 (131)
     // (At default, RELAX_READ is 0x03 (3) and RELAX_PROG is 0x92 (146))
     // For 132 MHz:
     //     TIMING_WAIT = 150ns * 132MHz - 1 = 18,8 => 19
    //     RELAX = 100ns * 132MHz - 1 = 12,2 => 13
    //     RELAX_READ = 10ns * 132MHz -1 = 0,32 => 1
    //     RELAX_PROG = 1000ns * 132MHz - 1 = 131
    //     STROBE_PROG = 10us * 132MHz + 2 * (RELAX_PROG + 1) - 1 = 10us * 132MHz + 2 * (131 + 1) - 1 = 1583
    //     STROBE_READ = 40ns * 132MHz + 2 * (RELAX_READ + 1) - 1 = 40ns * 132MHz + 2 * (1 + 1) - 1 = 8,28 => 9
     //
     // For 150 MHz:
     //     TIMING_WAIT = 150ns * 150MHz - 1 = 21,5 => 22
    //     RELAX = 100ns * 150MHz - 1 = 14,0 => 14
    //     RELAX_READ = 10ns * 150MHz - 1 = 0,5 => 1
    //     RELAX_PROG = 1000ns * 150MHz - 1 = 149
    //     STROBE_PROG = 10us * 150MHz + 2 * (RELAX_PROG + 1) - 1 = 10us * 150MHz + 2 * (131 + 1) - 1 = 1763
    //     STROBE_READ = 40ns * 150MHz + 2 * (RELAX_READ + 1) - 1 = 40ns * 150MHz + 2 * (1 + 1) - 1 = 11,0 => 11
     //
     // If BT_FUSE_SEL (bit 4) is not set already then burn it (and FORCE_INTERNAL_BOOT)
     if (!(SRC->SBMR2 & SRC_SBMR2_BT_FUSE_SEL_MASK)) {
          //
          // Based on ipg_clk = 132 MHz => 1/f = 7.576 nS
          int timing = OCOTP_TIMING_STROBE_PROG(1583) | OCOTP_TIMING_RELAX(13) | OCOTP_TIMING_STROBE_READ(9) | OCOTP_TIMING_WAIT(19); //ipg_clk=132MHz, Calculation described at Chapter 22.4.3 (Rev.2) OTP Read/Write Timing Parameters
          int timing2 = OCOTP_TIMING2_RELAX_READ(1) | OCOTP_TIMING2_RELAX_PROG(131);
          //
          // Based on ipg_clk = 150 MHz => 1/f = 6.67 nS
          // int timing = OCOTP_TIMING_STROBE_PROG(1763) | OCOTP_TIMING_RELAX(14) | OCOTP_TIMING_STROBE_READ(11) | OCOTP_TIMING_WAIT(22); // ipg_clk=150MHz, Calculation described at Chapter 22.4.3 OTP Read/Write Timing Parameters
          // int timing2 = OCOTP_TIMING2_RELAX_READ(1) | OCOTP_TIMING2_RELAX_PROG(131);
          //     
          OCOTP->TIMING = timing;
          OCOTP->TIMING2 = timing2;
          while ((OCOTP->CTRL & (1<<OCOTP_CTRL_BUSY_SHIFT)) || (OCOTP->CTRL & (1<<OCOTP_CTRL_ERROR_SHIFT))); // Check that HW_OCOTP_CTRL[BUSY] and HW_OCOTP_CTRL[ERROR]are clear
          int ocotp_ctrl = OCOTP->CTRL;
          ocotp_ctrl &= ~OCOTP_CTRL_ADDR_MASK;
          ocotp_ctrl |= OCOTP_CTRL_ADDR(6);     // Set address 6
          ocotp_ctrl &= ~OCOTP_CTRL_WR_UNLOCK_MASK ;
          ocotp_ctrl |= OCOTP_CTRL_WR_UNLOCK(0x3E77); // WR_UNLOCK sequence
          OCOTP->CTRL = ocotp_ctrl; // Write ADDR and unlock
          //OCOTP->DATA = (long)((1<<4)|(1<<16));// burn both BT_FUSE_SEL (1<<4) and FORCE_INTERNAL_BOOT (1<<16)
          OCOTP->DATA = (long)((1<<4));// burn only BT_FUSE_SEL (1<<4)
     }
}

 

 

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


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

а они работает только с 3.3В SDRAM?

LPSDRAM на 1.8В (то есть микроновские MT48H*) поддерживаются? что-то не вижу, там с  EXTENDED MODE REGISTER-ом нужно работать (если не ошибаюсь в отличиях от 3.3В памяти), хотя бы при запуске что-то прописать, чтобы включить память...  

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


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

После освоения камешков Allwinner A13 и V3s, сферические, существующие только на бумаге недо-дистрофики от STM  более не интересны. :lol:

 

P.S. Ежегодный выхлоп STM - всего до полусотни мегагерц. При этом ни NEON, ни встроенной DDR, ничерта нет ничего, что бы  зацепило...

 

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

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


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

Думаю, что не совем корректно отзываетесь об STM процах. Всему свое место. В реалтайме с периферией удобнее работать с ARM ядрами M0-M4-M7 а не с ядрами A7-A8-A10, (A8 у Allwinner A13) также и с ОСами. Те реализации Linux под реал-тайм не очень то и заточены в плане эффективности. Семейство у Allwinner "A" заточено под видео. STM под видео не совсе то. Кроме 157, у которого два разных ядра, два A7 и одно M4.

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


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

On 8/1/2020 at 7:59 PM, Aner said:

В реалтайме с периферией удобнее работать с ARM ядрами M0-M4-M7 а не с ядрами A7-A8-A10, (A8 у Allwinner A13) также и с ОСами.

 

В этом плане более приятны DSP.

 

On 8/1/2020 at 7:59 PM, Aner said:

Те реализации Linux под реал-тайм не очень то и заточены в плане эффективности.

  

Не использую Линукс и другие ОС для микроконтроллеров.  У меня там своя тема крутится - на голом железе.  Хотя не отрицаю, часть сорцов подглядел в Линуксе, но это были только драйвера для работы с периферией .  Я очистил всю шелуху и взял оттудова всё нужное мне.

 

On 8/1/2020 at 7:59 PM, Aner said:

Семейство у Allwinner "A" заточено под видео

 

Вы про x264 ?   Смысла от одного видео в МК мало.

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


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

01.08.2020 в 12:59, Aner сказал:

Семейство у Allwinner "A" заточено под видео.

Как бы да, все закономерно. Видео сжирает дофига ресурсов...

01.08.2020 в 12:59, Aner сказал:

STM под видео не совсе то. Кроме 157, у которого два разных ядра, два A7 и одно M4.

Не вижу смысла в этом 157м вообще, все внешнее, корпус сложный в плане разводки. Вся прелесть СТМов, в их камнях со встроенным флешем и планарным корпусом - все в одном, плата легко разводится... Но все это только для бездисплейных применений, если уж экран - то лучше Allwinner v3s или S3, ИМХО..

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


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

20 часов назад, __inline__ сказал:

В этом плане более приятны DSP.

DSP для обработки реал-тайм событий и алгоритмов управления "вермишельного" типа?? :russian_ru: Выбор - хуже не придумаешь. Даже хуже чем использовать его для работы в режиме memcpy-only... :negative:

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


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

On 8/10/2020 at 5:25 AM, jcxz said:

DSP для обработки реал-тайм событий и алгоритмов управления "вермишельного" типа?? :russian_ru: Выбор - хуже не придумаешь. Даже хуже чем использовать его для работы в режиме memcpy-only... :negative:

 

Вы зря сердитесь! :acute:  Я вообще-то  про свою нишу говорю - про применение DSP в играх! :gamer4: Вот в них возможности DSP очень даже подходят - STM32 кусает локти от зависти!

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

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


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

6 часов назад, __inline__ сказал:

Я вообще-то  про свою нишу говорю - про применение DSP в играх!

И где же про игры? У нас все ходы записаны:

09.08.2020 в 02:16, __inline__ сказал:
01.08.2020 в 12:59, Aner сказал:

В реалтайме с периферией удобнее работать с ARM ядрами M0-M4-M7 а не с ядрами A7-A8-A10, (A8 у Allwinner A13) также и с ОСами.

В этом плане более приятны DSP.

Как видно - разговор шёл не про игры, а про работу с периферией и про ОСы. :unknw:

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


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

2 hours ago, jcxz said:

И где же про игры? У нас все ходы записаны:

 

Quote

В реалтайме с периферией удобнее работать с ARM ядрами M0-M4-M7 а не с ядрами A7-A8-A10, (A8 у Allwinner A13) также и с ОСами.

 

Хорош зубатиться.  В играх нужен реалтайм. На ОСы мне наплевать.

Ещё вопросы есть?

 

2 hours ago, jcxz said:

Как видно - разговор шёл не про игры, а про работу с периферией и про ОСы.

 

Разгор шёл об ARM Cortex-M7: об их убогости по сравнению с DSP и Cortex-A8.

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

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


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

On 1/12/2021 at 3:38 PM, sergvks said:

Никто не знает где бы добыть Security Reference Manual for the i.MX RT102x и Processor Security Application Note AN12079 ?

 

Добрый день,

 

Напишите мне на почту [email protected] . Думаю смогу с этим помочь.

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


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

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

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

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

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

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

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

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

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

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