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

am1808

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

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

  • Посещение

Весь контент am1808


  1. я не про регистры говорю, а то что выделяется на стеке
  2. на сколько мне известно, все локальные переменные в отличии от 32b, выравниваются по word, т.е. 4 байта. то, что кейл в вышеприведенном примере добавляет инструкцию, это причиндалы самого компилятора, который таким образом пытается занулить память, которая выделилась по причине выравнивания. т.е. получается, что кейл лишний раз себя как бы страхует
  3. да не может быть extern TLimit WeightChannelTableLimits[]; т.е. вы хотите сказать, что вы в другом модуле значения в экспортируемом массиве можете изменить, когда вы его определили как const?
  4. А так extern TLimit WeightChannelTableLimits[]; в противном случае - через header
  5. не нервничайте, уважаемый так проверьте теперь для int и unsigned int, и сделайте для себя вывод
  6. разрядность используемых в вашем примере выше никак не влияет, влияет unsigned или signed переменная. компилятор явно приводит в случае uint_fast8_t к unsigned, что и приводит к лишней операции, за счет цикла кол-во операций увеличивается в вашем примере на 8 тактов. это просто конкретная фича компилятора, и в принципе, другой компилятор может явно не делать UXTB r1,r1 так что зря вы так, в приведенном вашем примере не влияет РАЗРЯДНОСТЬ, выше я объяснил почему. так что ваш пример плох и не подтверждает ваше высказывание выше
  7. оптимизация выключена? какая версия ядра arm?
  8. и как это на скорость выполнения повлияло? когда уменьшился лишь сегмент данных я не знаком с кейлом, попрошу показать, как затайпдефайнино uint_fast8_t
  9. камень не подлетает у вас от такой скорости?
  10. скорость у вас сильно увеличилась ? дело не в том, какие переменные, а как они выравнены в памяти
  11. конечно можно, объявляете указатель как extern в Сишном модуле как адрес начала секции, затем в линкере даете этому указателю адрес интересующей вас секции, и компилируете, подцепляя ваш линкер скрипт. почитайте: info ld хороший и наглядный пример можно посмотреть тут: http://www.compsoc.man.ac.uk/~moz/kernelne...all/kernel.html
  12. в параметрах ядру передайте( добавьте в bootargs ) еще: earlyprintk и покажите лог
  13. console=ttyS0,115200n8 передавайте такой параметр ядру, вы грузитесь с UART0, соотсветственно, ttyS0 должно решить проблему
  14. на понт не бери, утром деньги - вечером стулья
  15. это вы сами придумали? задачи бывают разными я имел ввиду не то, что вы выше написали, я говорил про функционал, реализующий драйвер, который как бе может заюзать тот же sysfs
  16. я за бесплатно не нанимался
  17. что же вы переживаете, у вас есть долгострой, прибыль получаете от заказчика, вам и нет нужды что-то скрывать по сути то. а ваши так называемые "ноу-хау", так это только вам кажется, что это ноу-хау
  18. я вам за день такой сервер напишу, это так, к слову. почитайте про socket Berkley, для вашего же блага, это два cgi не нужен - это три ядро и апач никак не связаны по большому счету, ядро, я упоминал, необходимо пересобрать для поддержки /sys/class/gpio для работы из userspace есть модули ядра, ТС правильнее под его задачи написать драйвер и взаимодействовать из юсерспейса(из сервера) с этим модулем. конечно, только безумный будет мапить физ. память из юсерспейса
  19. ну для этого ему еще надо ядро пересобрать(если этот интерфей не поддерживается у него), во - первых, во - вторых, да, с GPIO, так же как и с /proc без разницы как работать(так же как и с любым другим файлом), при условии, если ему нужно вывалить клиенту какую то текущую инфу из файла или записать что то в файл. ну а если ему значения переменных выводить, то тут ему нужно каким-то образом, опять же, например, через файлы взаимодействовать, или же, через тот же /proc, /sysfs, если у него работает какой-то модуль, или, чтобы узнать внутренние значения переменных из модуля. опять же, веб сервер сконфигурить надо, ему придется разбраться с тем же cgi, php и прочей лабудой, времени он потратит больше, нежели, чем он напишет простой серверок с использованием сокетов за пару часов, не забивая голову лишним, и просто и легко выплюнет клиенту необходимую системную инфу или подергает ножками на GPIO.
  20. да потому, что сначала выбирают аппаратную часть, которая подходит по требованиям, а уж где и в чем писать софт - дело третье, по большому счету все равно должно быть
  21. это спорный вопрос, я бы на вашем месте не был так уверен
×
×
  • Создать...