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

ДЕЙЛ

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    5

Сообщения, опубликованные ДЕЙЛ


  1. 2 minutes ago, jcxz said:

    А есть уверенность, что именно "не перезапускает" и виноват именно WDT? Может просто ваш загрузчик виснет при сбросе, произошедшем от WDT?

    Да. При старте загрузчика моргаю светодиодом. Если вместо прошивки пустое место в виде FFFFF, то при подаче питания однократное моргание и уход в глухое зависание. Если прошивка какая-то имеется, но при этом не сбрасывает WDT, то всё нормально работает. 

  2. On 1/20/2023 at 10:47 PM, jcxz said:

    Скорее вопрос нужно ставить по-другому: "Почему ваш загрузчик запускает пустое место?"

    Это искусственная ситуация. В LPC1768 в аналогичной ситуации сторожевой не выключался и перезапускал загрузчик.  Загрузчик должен понять при необходимости, что прошивки нет. Тут можно сделать проверку первых 8 байт прошивки и не париться, но всё же хочу понять, почему сторожевой таймер не выполняет свою функцию. 

  3. Есть МК BlueNRG-2. Использую загрузчик и прошивку. В загрузчике настраиваю сторожевой таймер, далее всё работает нормально, если имеется прошивка в нужной области памяти. Если вместо прошивки FFFFFFFFFF, то после попытки загрузчика запустить пустое место сторожевой таймер свою функцию не выполняет. Поможет только передёргивание питания. Почему такое может быть?

  4. Вынес свою кнопку в отдельный unit
     

    unit Unit1;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Button2;
    
    
    type
      { TForm1 }
      TForm1 = class(TForm)
        Button1: TMyButton;
      private
    
      public
    
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.lfm}
    
    end.

          Button2:

    unit Button2;
    
    {$mode ObjFPC}{$H+}
    
    interface
    
    uses
      Classes, SysUtils, StdCtrls;
    
    
    type TMyButton = class(TButton)
    
    end;
    
    implementation
    
    end.      

         

    image.png

  5. unit Unit1;
    
    {$mode objfpc}{$H+}
    
    interface
    
    uses
      Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
    
    type
      TMyButton = class(TButton)
      private
      public
    end;
    
    type
      { TForm1 }
      TForm1 = class(TForm)
        Button1: TMyButton;
      private
    
      public
    
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.lfm}
    
    end. 

    До настоящего времени не было необходимости в создании собственных компонентов в делфи/лазарусе, теперь захотелось освоить данную тему. Погуглил и решил поэкспериментировать. Создал форму, на которой всего одна кнопка, которую хочу заменить на свою. Для начала решил создать класс TMyButton, полностью наследующий всё от TButton. Программа скомпилировалась, но при запуске всё сломалось. Что не так сделал? 

  6. 2 hours ago, V_G said:

    Бесконечно устаревший подход. Изучите опыт частного инвестирования стартапов в США - самой успешной страны-инноватора. Сейчас к этому добавились инвестиционные фонды и краудфандинг - инструменты, с которыми инвестором может стать даже не очень богатый человек - представитель среднего образованного класса.

    Т.е. всё же государство должно создать только условия для развития и никак не спонсировать? 

    2 hours ago, Electrobit said:

    Сомневаюсь, что у государства стоит такой вопрос. Государство в полном шоколаде и мармеладе. Посмотрите как живут чиновники и убедитесь, что у государства всё шикарно.

    Если нам перекроют кислород и страна покатится в каменный век, то те же самые чиновники не смогут пользоваться достижениями буржуев, а картошку сажать они не умеют. За бугром их тоже никто ждать не будет, когда дело будет сделано. Попользуются ими и выбросят как расходный материал. 

  7. В любом случае государство не должно оставаться в стороне, ведь тут стоит и вопрос его выживания. Государству можно передать обязанности по расстрелу коррупционеров и создания положительного образа инженера. Ведь сумели же сагитировать школьников массово идти в юристы, менеджеры и прочие экономисты, несмотря на туманные перспективы. А тут перспективы хорошие будут, но в настоящее время самым популярным предметом для сдачи ЕГЭ является "Обществознание". 

  8. Да, обсуждать СССР можно долго. Я предлагаю перенять только положительный опыт наших предшественников, в частности подход, при котором большие дела начинает государство. Затем эстафету нужно передавать частному бизнесу. Получилось же у той страны стать первыми в космосе и занять лидирующие позиции в атомной энергетике, авиации и в производстве военной техники. Сложно представить, что какой-нибудь индивидуальный предприниматель сейчас начнёт вкладываться в строительство космического корабля для полёта к соседней звезде, даже если будет точно знать, что вокруг неё вращается планета из чистого золота. Слишком большие затраты и риски разориться. Эти риски должно брать на себя государство, как в начале освоения космоса.  

  9. 5 minutes ago, Maxim_S said:

    Опыт был по скупке имеющихся заводов и технологий. И был успешен в тех сферах, где циклы развития шли медленно. Вспомните сколько десятилетий продавалась "копейка" 01,02,04,05,06,07.. 08,09(с небольшими переделками)..

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

    Мир совсем другой, и, наконец СССР проиграл, проиграл в чистую, не понимаю зачем идти в эту реку ещё раз..

    СССР проиграл больше из-за массовой уравниловки, бюрократии и отсутствия стимулирования, не считая лозунгов "даёшь самые большие микросхемы в мире!" Можно перенять всё лучшее от той страны и добавить опыт других стран. Ресурсов у нас больше, чем в любой другой стране мира, кулибиных тоже достаточно, рынок сбыта в перспективе тоже будет большим. Все карты у нас в руках, что не скажешь о запасе времени.  

  10. 6 hours ago, V_G said:

    В современном мире так не работает: ваше "на первых порах" будет длиться десятилетиями, а за это время мировая наука и экономика уйдут в запредельные дали. Внутренние инвестиции от неэффективного государства (а все государства неэффективны) и расходоваться будут неэффективно, а у нас попросту разворовываться.

    Выход - открывать экономику и страну в целом для частных и/или иностранных инвестиций, жить со всеми в мире и дружбе. Пока мы идем ровно в противоположном направлении.

    У нас есть опыт индустриализации в 30х. Многие российские заводы и добывающие компании были зачаты государством. Кировский завод, Ростсельмаш, Ангстрем не строили частные лица, как не прокладывали индивидуальные предприниматели трубопроводы для перекачки нефти и газа. Окупились бы они очень нескоро, но всё же окупились в итоге и проносят прибыль стране. Аналогично можно было бы подойти к делу поднятия электронной промышленности. Даже если срок окупаемости был бы один год, то мало у кого из ИП есть 50-100 миллиардов в заначке, чтобы начать выпускать что-то вроде атмеги32. 

  11. Интересная тема. Прочитал все 27 страниц. Занимаюсь электроникой с дошкольных лет, когда курочил ламповые телевизоры. У меня по данной теме следующие соображения:

    1. Сейчас всем очевидно, что электроника и связанная с ней вычислительная техника - это драйвер развития всех остальных областей человеческой деятельности от посадки картошки до синтеза лекарств и полётов к другим планетам. Без процессоров любая страна скатится в лучшем случае к 80-м годам прошлого века.

    2. Сейчас процессоры проектируются с помощью процессоров, чтобы с их помощью проектировать ещё более продвинутые процессоры. Пока у нас есть возможность не откатиться к кульманам, а для этого нашим правителям нужно поддержать тех инженеров, которые не уехали из страны и ещё что-то умеют делать. Нас не так много, поэтому опухший от нефтедолларов бюджет страны не исхудает, а отдача в перспективе будет ощутимая (см. п.1).

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

    4. Избавить учёных и инженеров от отвлекающих проблем вроде ипотеки, неустроенного быта и бюрократии. Невозможно плодотворно работать, когда в голове крутятся мысли о том, на что кормить семью и самого себя. Бюрократия тоже может отнимать много времени и нервов, что не есть хорошо. Если инженеру не хватает денег на жизнь, то он будет искать подработку в ущерб творчеству. Это я всё хорошо знаю по своему опыту, когда днём работал в конструкторском бюро, а вечером и по выходным подрабатывал радиомонтажником, вместо того, чтобы проводить свободное время за осциллографом и макетной платой. Сейчас многим кулибиным из глубинки закрыт доступ во многие московские НИИ. Перспективным выпускникам ВУЗов предлагают зарплату в лучшем случае 50-100 тыщ, съём жилья стоит примерно половину этой зарплаты, а на свой угол зарабатывать придётся до пенсии. Есть вариант снимать в соседней области, но это минус 5-6 часов в день на дорогу. Повторять путь Ломоносова мало кто захочет, поэтому большинству проще чинить видеокарты геймерам в Пензе и жить под своей крышей, чем проектировать их в Зеленограде, проживая в Монино на птичьих правах и на ролтонах. 

    5. Естественно, в случае реализации п.4 появятся желающие лишь формально вступить в нашу касту, но на этот случай нужно организовать взаимный контроль деятельности, когда каждый может проконтролировать и проверить результат работы каждого. Это будет что-то вроде аналога публичного репозитория, в котором любой желающий сможет ознакомиться с результатом работы коллеги по цеху.

    6. В случае реализации всего изложенного в п.5 появятся вопросы по части коммерческих и прочих тайн. Мотивировать делиться секретами должно государство, выплачивая премии за успехи, а уровень успеха и значимости будут определять не надзиратели из НКВД, а всё те же коллеги по цеху путём тайного голосования в сети, чтобы не было соблазна взаимовыручки вроде “ты мне лайк – я тебе”.

    7. В настоящее время нам необязательно проходить весь путь от микронов до нанометров за 50 лет. Само по себе знание того, что путь к техпроцессу 1-5нм заведомо не тупиковый, даёт большую фору в преодолении отставания. Если знаешь, что получилось у кого-то, то должно получиться и у нас. Начинать этот большой путь нужно с замены самых простых буржуйских элементов на отечественные, постепенно повышая свой уровень компетенции в производстве более сложных элементов.  На первых порах государство должно помогать подниматься нашей отрасли, пока отрасль не перейдёт на самоокупаемость.

    8. Увеличить период обучения в ВУЗах по соответствующим специальностям с 5-6 до 8-10 лет. Сложно представить, как можно кого-то нормально научить азам нашего ремесла за 5 лет, если даже через 15 лет после диплома всё равно приходится постоянно учиться. Да, 10 лет учёбы в ВУЗе обойдётся бюджету в копеечку, но её можно сэкономить за счёт сокращения бюджетных мест для гумонитариев. Подготовку юристов осилят и частные заведения, ведь там потребуется на каждого студента образно только стол, стул, тетрадь и лектор. 

    9. Не совсем по теме, но известно, что всё творческое мышление на корню убивают алкогольные напитки любого градуса крепости. Тоже по себе хорошо знаю их действие, когда до второго курса универа ни капли не пробовал и все знания из лекций в голову входили на ура, но после первых летних застолий вернулся в стены альма-матер и к своему удивлению ощутил, насколько относительно туго было получать новые знания. Погуглил на эту тему и отказался от застолий, а спустя полгода-год обучаемость вернулась к прежнему уровню и больше ни капли в год. Для себя выводы сделал, а на месте Путина я запретил бы продажу этого яда ближе десяти километров от населённых пунктов, чтобы подрастающее поколение не уничтожило на корню весь свой творческий потенциал.

    Подобными мыслями поделился как-то с одним чиновником из окружения Путина. Он сказал, что требую слишком много и “мне все должны”. Так ли это? Или всё же у меня слишком большие хотелки? С удовольствием почитаю мнения по поводу моих мыслей.
     

  12. 17 minutes ago, Pupkin said:

    @ДЕЙЛ, а зачем вы вообще пытаетесь грузиться с этого образа? На нём SP3 для Windows XP, и загрузиться с него, понятное дело, не получится. Вам нужен образ с самой системой, а не с SP3 для неё.

    Вдобавок ко всему, ваша версию QEMU, судя по надписи справа, нерабочая - она не может этот образ распознать как CD и прочесть данные с него. Вне зависимости от отсутствия загрузочной записи на нём.

     

    Где написано, что она нерабочая? В конечном итоге я хочу запустить MacOS в виртуальной машине, но пока хочу начать с чего-то попроще. 

  13. Всю тему не читал. Пытаюсь установить эмулятор WinXP через qemu по инструкции с сайта https://lumpics.ru/how-to-use-qemu-in-windows/
    Пробовал образы Win95 и MacOS - картина аналогичная. Что не так делаю?

    image.thumb.png.745eb6094914d11a29d4e942a4905b7a.png

  14. Припоминаю глюк в своей поделке, когда источник напряжения находился на расстоянии 50-100 метров от DC-DC. Преобразователь запускался только при низком внутреннем сопротивлении источника напряжения (при коротких проводах). Попробуй поставить электролит побольше на выходе блока питания и подключать DC-DC после зарядки конденсатора. Можно попробовать подключить DC-DC от свинцового аккумулятора. Не исключено, что твой блок питания не менее китайский, чем преобразователь, а свинцовый аккумулятор всегда даёт чистый постоянный ток. 

  15. Насчёт вызываемых из прерываний функций всё правильно сказали, но я не стал бы останавливать задачу, а ставил бы её на ожидание семафора. Это нужно на перспективу, если придётся запускать задачу из разных мест. 

  16. Выдели конкретную часть схемы, нарисуй каскад в общепринятом виде, а не в виде схемы замещения. После этого местным знатокам не придётся ломать мозги и ответ появится намного быстрее. Думаю, что и сам всё тоже лучше разглядишь. 

  17. 4 minutes ago, Arlleex said:

    Лучше некорректные значения в -1 установить.

    в данном случае это ничего не даст. Здесь самое тупое и самое быстрое конвертирование именно из строки "XX" в число 0xXX. Здесь нет проверок опять же из соображений максимального быстродействия. Я этот алгоритм применил в своём терминале.  

     

  18. const HexToIntTabl : array[0..255] of byte=(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0,
                                                0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                                                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    
    function TForm1.HexToInt(Hex: Char) : byte;
      begin
        result := HexToIntTabl[Ord(Hex)];
      end;
    
    Дале в коде:
    X1 := (HexToInt(str[1]) shl 4) or HexToInt(str[2]);
    
    X2 := HexToInt(str[3]);
    X3 := (HexToInt(str[4]) shl 4) or HexToInt(str[5]);

    Я сделал бы так, если длина строки фиксированная. Это на паскале, но легко можно перевести на Си. Более быстрый алгоритм конкретно для этого случая не придумал. 

  19. On 4/28/2021 at 9:25 AM, token1993 said:

    Ну например вот команда что тут обозначает _ASM? 

     _ ASM ("MOV RO, #0x05"); 

    Обычная вставка в код ассемблерной инструкции. Применяется в критических участках программ, где требуется максимальное быстродействие, например в тех участках кода, которые используются чаще всего. Это было актуально в стародавние времена, а сейчас компиляторы сами всё хорошо понимают и оптимизируют. Есть смысл применять данные инструкции при написании драйверов для работы непосредственно с железом, но и здесь тоже лучше использовать язык Си. Про ассемблер хорошо  написано здесь. Для ознакомления самое то. 

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