RC7LI

Универсальный бэнддекодер на PIC18F452

31 сообщение в этой теме

RC7LI    0
1 час назад, КЭС сказал:

Фото монтажа с двух сторон можно?

Да, конечно. Вечером после работы буду в радиоклубе - сфотографирую и выложу.

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


Ссылка на сообщение
Поделиться на других сайтах
RC7LI    0
В 21.10.2017 в 04:55, Electric_84 сказал:

я бы посоветовал взять фирменный PicKit

Уже какой день смотрю разные варианты PicKit. Может кто-нибудь посоветовать вариант для сборки самому? Только нужен рабочий вариант.

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


Ссылка на сообщение
Поделиться на других сайтах
Vovka    29
7 часов назад, RC7LI сказал:

Уже какой день смотрю разные варианты PicKit. Может кто-нибудь посоветовать вариант для сборки самому? Только нужен рабочий вариант.

В данном случае я бы очень советовал купить готовый! 472 рубля не такая уже и большая сумма: https://ru.aliexpress.com

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


Ссылка на сообщение
Поделиться на других сайтах
Electric_84    24
18 часов назад, RC7LI сказал:

Ошибка чтения по адресу 0000h не исчезла.

у меня такое было на самодельном программаторе, уже и не припомню в чем была проблема. На старом компе (какой-то Пентиум-2, специально под это дело держал) работало, на новом (Р-IV) ни в какую. Замучался искать причину, купил PICkit 2 и вот уже лет 15-17 никаких проблем.

16 часов назад, RC7LI сказал:

вариант для сборки самому?

полностью поддержу Vovka, берите готовый, он того стоит.

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


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

Найдите миллионы труднодоступных

электронных компонентов

RC7LI    0
14 часа назад, Vovka сказал:

В данном случае я бы очень советовал купить готовый! 472 рубля не такая уже и большая сумма: https://ru.aliexpress.com

А он рабочий? Если за такую цену, то тогда никаких проблем в покупке не будет.

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


Ссылка на сообщение
Поделиться на других сайтах
Vovka    29
13 часа назад, RC7LI сказал:

А он рабочий?

Если вы фатально невезучий человек, то нет :D

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Гость blackhand
      Автор: Гость blackhand
      Здравствуйте. Недавно возникла потребность в Ethernet бутлоадере для stm32f7.  Гугл на этот счёт обладает крайне скудной информацией, в частности есть наполовину полезная pdf от ST STM32Cube Ethernet IAP example, в которой описана архитектура того, как работает этот бутлоадер в целом и по каким протоколам. Во всём мире существует только один готовый пример такого бутлоадера , который сконфигурирован для stm32f4 и под какую-то из EVAL-отладочную плату. В распоряжении имею отладочную Nucleo-144 на STM32F767ZI, у которой на борту уже есть PHY Ethernet чип.
      А теперь, в чём, собственно, проблема: Простое переназначение ножек в файле ethernetif.c под мою плату (ну я уж не говорю про замену всех библиотек под мой тип МК) не поможет. Пример сделан под PHY Ethernet чип, который общается с контроллером по интерфейсу MII. На Nucleo чип имеет интерфейс RMII , то есть, пинов у него меньше. При изучении кода примера выяснил, что там отлавливается некое внешнее прерывание с отдельной ножки MII чипа, которая соединена с PB14  (Enable PB14 to IT mode: Ethernet Link interrupt). Такой ножки у моего RMII в помине нет, поэтому это прерывание Ethernet Link interrupt просто повисает в воздухе.
      Может кто-нибудь встречался с такой проблемой или имеет готовый рабочий бутлоадер? Был бы благодарен за помощь
    • Автор: foregit
      Доброго времени суток.
      Есть такая задача - дистанционно перешивать девайс. Девайс сделан на атмеге и из внешних интерфейсов имеет только езернет через мост на визнете. Идея состоит в том ,что в основной программе мы получаем прошивку и шьем ее в определенную часть флеша. Потом даем сброс контроллеру, он перегружается в boot, видит какой нибудь флаг перепрошивки (например определенную последовательность байт по определенному адресу) и переливает полученную дистанционно новую прошивку по нулевому уже адресу. Естественно для таких целей запас флеша на контроллере берется в 2 раза больший максимально возможной прошивки (с учетом бутлоадера).
      Вопросы - 
      1. Были ли уже где нибудь решения похожих задач чтоб не изобретать велосипед?
      2. Если нет и рыть самому -подскажите следующее - прописано что шить сам себя проц может только функциями, расположенными в секции загрузчика. Но в моему случае необходимо шить и из загрузчика и из основной программы. Так как это две разные собственно прошивки - как я могу обратиться из основной программы к функции записи флеша, скомпилированной для загрузчика? Или как решить такого плана задачу по другому?
       
    • Автор: serj280294
      Всем привет. На руках имеется отладочная плата HC6800EM3 и её необходимо подружить со средой Arduino.

      На плате установлен микроконтроллер ATmega162 и на него прошит загрузчик, о чем свидетельствует дрыганье контроллером ножкой при сбросе. Только при заливке скетча в контроллер происходит ошибка. Опытным путем установил, что при загрузке данных по UART не происходит сброс микросхемы в загрузчик.

      На плате установлен преобразователь USB<->UART CH340. Вокруг у него не понятная мне обвязка. Зачем-то вывод DTR(обычно сбрасывающий контроллер перед передачей данных по UART) связан с цепью питания. Объясните пожалуйста, зачем так может быть сделано? И для чего, как вы считаете, может быть нужен джампер ON(в центре схемы) позволяющий переключать вывод Power между VCC и 51(вывод расположен в правой верхней части схемы)?
    • Автор: vv7
      Всем привет !
      Да, вот так вот. Опять светодиод и опять не запускается.
      В чём косяк ?
      Питание - от автозарядки для мобилки ( 12В -> 5В ).
      Среда разработки ( IDE ): MPLAB X v3.35 Linux, компилятор C18.
      Программатор: PICKit3
      Прошивка, по-моему - нормальная.
      Сконфигурирован - нормально. ( Или нет ? )
      Элементы все рабочие.
      В наличие есть кварц: 4, 8, 10 МГц.
      Фотка со схемкой - в атаче.
      Осциллографа под рукой - нет .
      Исходник прошивки:

      #include "config_bits.h" #include <stdio.h> #include <stdlib.h> void main (void) { int i = 0; TRISA = 0x00; PORTA = 0x00; TRISB = 0x00; PORTB = 0xFF; TRISC = 0x00; PORTC = 0x00; TRISD = 0x00; PORTD = 0x00; TRISE = 0x00; PORTE = 0x00; while (1) { for ( i = 0; i < 1000000; i++) { PORTB = !PORTB; } } }
      Файл "config_bits.h":

      // PIC18F452 Configuration Bit Settings // 'C' source line config statements #include <p18f452.h> // CONFIG1H #pragma config OSC = HS // Oscillator Selection bits (HS oscillator) #pragma config OSCS = OFF // Oscillator System Clock Switch Enable bit (Oscillator system clock switch option is disabled (main oscillator is source)) // CONFIG2L #pragma config PWRT = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config BOR = ON // Brown-out Reset Enable bit (Brown-out Reset enabled) #pragma config BORV = 20 // Brown-out Reset Voltage bits (VBOR set to 2.0V) // CONFIG2H #pragma config WDT = OFF // Watchdog Timer Enable bit (WDT disabled (control is placed on the SWDTEN bit)) #pragma config WDTPS = 128 // Watchdog Timer Postscale Select bits (1:128) // CONFIG3H #pragma config CCP2MUX = ON // CCP2 Mux bit (CCP2 input/output is multiplexed with RC1) // CONFIG4L #pragma config STVR = ON // Stack Full/Underflow Reset Enable bit (Stack Full/Underflow will cause RESET) #pragma config LVP = OFF // Low Voltage ICSP Enable bit (Low Voltage ICSP disabled) // CONFIG5L #pragma config CP0 = OFF // Code Protection bit (Block 0 (000200-001FFFh) not code protected) #pragma config CP1 = OFF // Code Protection bit (Block 1 (002000-003FFFh) not code protected) #pragma config CP2 = OFF // Code Protection bit (Block 2 (004000-005FFFh) not code protected) #pragma config CP3 = OFF // Code Protection bit (Block 3 (006000-007FFFh) not code protected) // CONFIG5H #pragma config CPB = OFF // Boot Block Code Protection bit (Boot Block (000000-0001FFh) not code protected) #pragma config CPD = OFF // Data EEPROM Code Protection bit (Data EEPROM not code protected) // CONFIG6L #pragma config WRT0 = OFF // Write Protection bit (Block 0 (000200-001FFFh) not write protected) #pragma config WRT1 = OFF // Write Protection bit (Block 1 (002000-003FFFh) not write protected) #pragma config WRT2 = OFF // Write Protection bit (Block 2 (004000-005FFFh) not write protected) #pragma config WRT3 = OFF // Write Protection bit (Block 3 (006000-007FFFh) not write protected) // CONFIG6H #pragma config WRTC = OFF // Configuration Register Write Protection bit (Configuration registers (300000-3000FFh) not write protected) #pragma config WRTB = OFF // Boot Block Write Protection bit (Boot Block (000000-0001FFh) not write protected) #pragma config WRTD = OFF // Data EEPROM Write Protection bit (Data EEPROM not write protected) // CONFIG7L #pragma config EBTR0 = OFF // Table Read Protection bit (Block 0 (000200-001FFFh) not protected from Table Reads executed in other blocks) #pragma config EBTR1 = OFF // Table Read Protection bit (Block 1 (002000-003FFFh) not protected from Table Reads executed in other blocks) #pragma config EBTR2 = OFF // Table Read Protection bit (Block 2 (004000-005FFFh) not protected from Table Reads executed in other blocks) #pragma config EBTR3 = OFF // Table Read Protection bit (Block 3 (006000-007FFFh) not protected from Table Reads executed in other blocks) // CONFIG7H #pragma config EBTRB = OFF // Boot Block Table Read Protection bit (Boot Block (000000-0001FFh) not protected from Table Reads executed in other blocks)
      Проблема: Он то ли не запускается, то ли ещё что-то. Светодиод на 30 ножке ( PORTBbits.RB0 ( B0 ) ) просто горит. А ведь в программе я прописал, чтоб весь блок B периодически переключался на противоположенное значение, но этого не происходит. Менял значения цикла от 1000000 до 10 - 0 по цельсию.
      Вопрос, что может быть. Может минус плохой и на монтажных схемках такого рода ( как на фотке ) собирать схемы на МК - плохая идея ? Аля нужно паять ?!
      Спасибо !!!



    • Автор: Faster
      Всем привет тут пришлось вернуться к давно забытым МК с ядром AVR а точнее ATmega8 оч давно имел с ними дела но не когда не делал ни чего с бутлоадером ...
      и вот приклинило,для начала :
      1-научился работать с командой SPM, чуть позже вообще нашёл удачную процедуру с готовой записью
      2- написал тестовое приложение (как программуу)
      3-написал бутлоадер ,естественно что у AtmelStudio у ликера опция -Wl,--section-start=.text=0x1800 выставлена и фьюзы в ту область так же для бута
      Естественно что базовая прога проверена 120 байт работают просто мигают светодиодом (где он понятно из проги)
      И бут лоадер тоже
      Скраиваю их в месте по простетскому сначала шью бутлоадер а потом поверх без стирания чипа основную
      далее если фьюз BOOTRST показывает что всё окей, если его прожеч то стартует бут лоадер ,если нет то основное приложение
      Кажется все пашет но вот увы ХРЕН ТАМ бут лоадер по окончанию своей отработке не может вызвать основную аппку
      пробовал :
      asm("LDI R30,0x00\r\nLDI R31,0x00\r\nIJMP\r\n");
      и так пробовал:
      static void (*StartProg)( void ) = 0x0000;
      StartProg();
      по сути заново запускается бут лоадер ...
      прикладываю исходник бутлоадера , самого EXE так сказать и HEX документ полной сборки...
      Логика , экзешника состоит просто в моргании поочередно двумя свето диодами ,а бутлоадера в проверки B3 у PORTD и проверке на удержание его в течении 5 или более сеукунд...
      Самая главная проблема это втом что из бутлоадера в аппку не как не осуществляется переход, а просто перезапускается бутлоадер...
      Но вот что интересно если расположит команду перехода в аппку одной из первых, то переход работает ....
      BootLoader.7z
      Exe.7z
      Document.7z