LINUX.ORG.RU

Сообщения Assembler

 

2978 год

Форум — Talks

здорово други))) разрешите немного помечтать каким будет 2978 год. 2978 год, медицина позволяет излечивать любые заболевания лишь одной нанотаблеткой, содержащей нанороботов. человек стал бессметрным) Наконец-то достигнута скорость света, также стали возможно путешествия во времени. Господа, ну и конечно же Линукс! Да , он есть в 2978 году! И Линукс запустили полноценно на чипе М1, а хромиум в 2978 году уже может аппаратное ускорение! Ядро работает из коробки с видеокартами NVIDIA 1060 и 1070 и говорят что даже c NVIDIA 3080Ti но это неточно. Так что господа 2978 год виглядит многообещающим. Живите, радуйтесь и не бойтесь фантазировать) потому что только в наших фантазиях Gentoo может собраться без гуглежа, а firefox сможет крутить youtube в 4к без лагов с 7 открытыми вкладками)

 ,

Assembler
()

gcc

Форум — Development

здорово други! есть две флешки на которых установлены операционный системы. Они одинковы и версии компиляторов на них одинаковы, и параметры с которыми они были собраны. разница лишь в том что на одной флешки система установлена на полгода раньше чем на другой. и вот в чем вопрос, как такое может быть, что при написании кода, один компилятор ругается на синтаксис и не собирает программу, а другой собирает и программа запускается без проблем. в чем может быть дело? и вот еще вопрос, пытался собрать gcc из source версию 10.1 .... несколько месяце назад она собиралась, теперь вылетают ошибки под самый конец сборки. как буд то специально. может быть так разработчики пытаются сделать переход на Сlang более активным? я пересобирал компиляторы 10 раз. и вот только теперь начал сталкиваться с проблемами которых небыло раньше. как это объяснить? тем что я туп и глуп? и Линукс -это не мое?

 

Assembler
()

Chromium

Форум — Web-development

здорово други еще раз за сегодня... думаю что эта тема пояснить предыдущаю. установлен armbian и chromium. это было сделано задолго до сегодня. Видео(youtube) проигрывался в chrome замечательно. 1920*1080-очень легко. и совсем недавно мне пришлось переустановить хромиум. и тут началось.... жуткие тормоза, при написании текста даже сейчас курсор залипает на 3сек. об просмотре видео и речи быть не может. То есть то же ядро, тот же одноплатник, тот же я, но другой браузер. и этот новый браузер не жутко тормозит. Я захожу на наш много уважаемый и любимый форум и прошу совета тут. мне советуют вот из этой темы аппаратное ускорение на Chomium (комментарий) собрать Cedarx или использовать armbian с версией ядра 3x ..... так как сейчас ядро не такое призводительное как было раньше. я спорить не стал. в хромиуме я всеж завел аппаратное ускорение с помощью флагов, но это нерешило проблему тормозов. поэтому я прошу форум помочь найти ту версию chromium которая работала нормально. это было что-то из chromium 88.*.* сечас в репозитории вижу только chromium 89.*.* помогите найти архивы armbian откуда бы можно было бы скачать хромиум 88.*.* и старше. почему web-development? думаю это очевидно.

 

Assembler
()

код и Git

Форум — Development

здрасьте здресьте люди добрые

мне в теме скину сслыку, которая как бы должна была решить проблему с апааратным ускорением... https://github.com/allwinner-zh/media-codec как только я получаю Makefile и пытаюсь выполнить

make -j3
сразу же вылетает куча ошибок. и как только ты думаешь что решил проблему и пытаешься продолжить сборку вылетаешь еще больше ошибок. Думаю что код корявый и гуглежом не решить эту проблему. Пожалуйста попытайтесь запустить сборку и вынесите профессиональный вердикт или у меня руки из жопы, или руки из жопы у того кто писал этот код. собираю на oragne pi Gcc 10.1.0

 ,

Assembler
()

аппаратное ускорение на Chomium

Форум — Web-development

прокрутка страниц подлагивает и видео. Помогите завести аппаратное ускорение в браузере. тест на шестеренки выдает 120fps. платка orange pi. в

chrome:flags
полазил и вроде как скроллинг стал лучше. а вот видео никак. если можете без троллинга помочь, то помогите сделать просмотр видео нормальным в
 chrome://media  KWebMediaPlayearDestroed

 

Assembler
()

TIMx_DIER

Форум — Talks

здрасьте здрасьте люди добрые.... stm32f103 помогите пожалуйста разобраться. Регист

TIMx_DIER
разрешает или запрещает генерацию запросов к DMA. скажите о каких запросах идет речь?

 

Assembler
()

stm32f103+displey

Форум — General

здрасьте здрасьте люди добрые... можете помочь написать очень простенькую программку-пример без библиотек, которая бы выводила на текстовый дисплей без i2c одну любую букву, которая будет помещена в регистр, к примеру, r1. денег немного к сожеланиею 300р. это что скопил с проезда. никогда не имел дело с дисплеями. подключать видимо будет нужно по 16 линиям на дисплее.

 

Assembler
()

Гугл хромиум для orange pi.

Форум — Web-development

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

 ,

Assembler
()

Remap

Форум — Development

здорово други. умеет кто-нибудь делать ремап? МК stm32f103. неиочень понимаю как работает ремап, если несложно то может кто скажет в чем смысл, ну и главное как его сделать? например

PB1 вижу что можно вроде с TIM3_C4 на TIM1_C3.
нашел сто рублей сегодня дома поэтому могу их скинуть в знак благодарности. чтобы было еще проще то можно взять код уважаемого анонаймуса и сделать ремап на его примере
.syntax unified
.cpu cortex-m3
.thumb
 
RCC_APB2ENR = 0x40021018
GPIOC_CRH =0x40010804
 
 
TIM1_CR1 = 0x40012c00
TIM_CR1_URS = (1 << 2)
TIM_CR1_CEN = (1 << 0)
 
TIM1_PSC = 0x40012c28
TIM1_ARR = 0x40012c2c
 
TIM1_DIER = 0x40012c0c
TIM_DIER_UIE = (1 << 0)
 
 
TIM1_EGR = 0x40012c14
TIM_EGR_UG = (1 << 0)
 
NVIC_ISER0 = 0xe000e100
TIM1_UP = (1 << 25)
 
TIM1_SR = 0x40012c10
TIM_SR_UIF = (1 << 0)
 
GPIOC_ODR =0x4001080C 
 
.text
    .word   0x20005000
    .word   _start + 1
    .space  0x9c
    .word   TIM1_UP_isr + 1
 
.global _start
_start:
    //ldr    r0, =RCC_APB2ENR
ldr r0, =0x40021018
    ldr    r1, =0b00000000000000000000100000000101 //enable TIM1, AFIOEN, IOPAEN
    str    r1, [r0]
 
 
 
    ldr    r0, =GPIOC_CRH
    ldr    r1, =0b00000000000000000000000000001001 //eanble  Alternate function output Push-pull 10 MHZ
       str r1, [r0]
 
    ldr    r0, =TIM1_CR1
    ldr    r1, =TIM_CR1_URS
    str    r1, [r0]
 
    ldr    r0, =TIM1_PSC
    ldr    r1, =1000
    str    r1, [r0]
 
    ldr    r0, =TIM1_ARR
    ldr    r1, =1000
    str    r1, [r0]
 
    ldr    r0, =TIM1_DIER
    ldr    r1, =TIM_DIER_UIE 
    str    r1, [r0]
 
    ldr    r0, =TIM1_EGR
    ldr    r1, =TIM_EGR_UG
    str    r1, [r0]
 
ldr r0, =0x40012C44
ldr r1, =0b00000000000000001100000000000000 //eanble MOE and AOE
str r1, [r0]
 
ldr r0, =0x40012C20
ldr r1, =0b00000000000000000000000000000001 //enable CC1E
str r1, [r0]
 
 
ldr r0, =0x40012C18
ldr r1, =0b0000000000000000000000000111000
str r1, [r0]
 
 
 
 
 
 
 
    ldr    r0, =TIM1_CR1
    ldr    r1, =TIM_CR1_CEN
    str    r1, [r0]
 
    ldr    r0, =NVIC_ISER0
    ldr    r1, =0b00000010000000000000000000000000 //установил  25Бит в единицу.
    str    r1, [r0]
 
loop:
    
b loop
 
 
TIM1_UP_isr:
    ldr    r0, =TIM1_SR
    ldr    r1, [r0]
    bic    r1, #TIM_SR_UIF
    str    r1, [r0]
 
    ldr    r0, =GPIOC_ODR
    ldr    r1, [r0]
    eor    r1, #(1 << 8)
    str    r1, [r0]
 
    bx lr

 

Assembler
()

stm32f103c8/TIM3

Форум — Development

Здрасьте здрасьте люди добрые. пререйду скразу к делу. денег немного осталось всего 100р. если есть у кого-то свободное время то подкорректируйте пожалуйста. хочу использовать TIM3 на ноге PB1 для понимания принципа работы этого таймера. но почему-то все происходит не так как ожидалось.

ldr r0, =0x4002101C //RCC_APB1ENR Enable TIM3
ldr r1, =0b00000000000000000000000000000010
str r1, [r0]

ldr r0, =0x40021018 //RCC_APB2ENR Enalble GPIO_B
ldr r1, =0b00000000000000000000000000001000
str r1, [r0]

ldr r0, =0x40010C00 //GPIO_CRL_PORT_B1
ldr r1, =0b00000000000000000000000000010000 //Enable PUSH_PULL_output mode 10MHz
str r1, [r0]

ldr r0, =0x4000040C //TIM3_DIER_UIE
ldr r1, =0b00000000000000000000000000000001
str r1, [r0]

ldr r0, =0x40000414 //TIM3_EGR_UG
ldr r1, =0b00000000000000000000000000000001
str r1, [r0]

ldr r0, =0x40000444 //TIM3_BDTR_AOE
ldr r1, =0b00000000000000000100000000000000
str r1, [r0]
ну и также настроил 
TIM3_PSC
TIM3_ARR
////////////////////////////////////////////////
ldr r0, =0xE000E100 //TIM3 global interrupt_NVIC
ldr r1, =0b00100000000000000000000000000000
str r1, [r0

ldr r0, =0x40000400 //TIM3_CR1_CEN_URS
ldr r1, =0b00000000000000000000000000000101
str r1, [r0]

скажите пожалуйста, что еще надо включить или что изменить чтобы TIM3 мог использоваться в коде на ноге PB1? я пытаюсь сделать blink led без ШИМа.

 

Assembler
()

внешние прерывания

Форум — Development

здрасьте здрасьте люди добрые. нужен пример внешнего прерывания для stm32f103c8. денег немного, но 300р смогу скинуть. если у кого-то есть время, то напишите пожалуйста пример на ассемблере. нужно просто чтобы при замыкании PA9 с GND загорался, к примеру, светодиод на PC13. пожалуйста понимайте, что я даже не программист, и пример мне нужен чтобы разобраться. поэтому код хотелось бы простой с акцентом на понятность, а не на красоту(это я написал чтобы вы даже не стеснялись написать фигню, главное чтобы работало). если планируете использовать TIM то пожалуйста TIM1. PA9 не принципиально. Можно PA8 или PA7. что вспомнил из пинов то и написал вобщем. огромное мерси кто откликнется можно преобразовать этот код

.syntax unified
.cpu cortex-m3
.thumb
 
RCC_APB2ENR = 0x40021018
GPIOC_CRH =0x40010804
 
 
TIM1_CR1 = 0x40012c00
TIM_CR1_URS = (1 << 2)
TIM_CR1_CEN = (1 << 0)
 
TIM1_PSC = 0x40012c28
TIM1_ARR = 0x40012c2c
 
TIM1_DIER = 0x40012c0c
TIM_DIER_UIE = (1 << 0)
 
 
TIM1_EGR = 0x40012c14
TIM_EGR_UG = (1 << 0)
 
NVIC_ISER0 = 0xe000e100
TIM1_UP = (1 << 25)
 
TIM1_SR = 0x40012c10
TIM_SR_UIF = (1 << 0)
 
GPIOC_ODR =0x4001080C 
 
.text
    .word   0x20005000
    .word   _start + 1
    .space  0x9c
    .word   TIM1_UP_isr + 1
 
.global _start
_start:
    //ldr    r0, =RCC_APB2ENR
ldr r0, =0x40021018
    ldr    r1, =0b00000000000000000000100000000101 //enable TIM1, AFIOEN, IOPAEN
    str    r1, [r0]
 
 
 
    ldr    r0, =GPIOC_CRH
    ldr    r1, =0b00000000000000000000000000001001 //eanble  Alternate function output Push-pull 10 MHZ
       str r1, [r0]
 
    ldr    r0, =TIM1_CR1
    ldr    r1, =TIM_CR1_URS
    str    r1, [r0]
 
    ldr    r0, =TIM1_PSC
    ldr    r1, =1000
    str    r1, [r0]
 
    ldr    r0, =TIM1_ARR
    ldr    r1, =1000
    str    r1, [r0]
 
    ldr    r0, =TIM1_DIER
    ldr    r1, =TIM_DIER_UIE 
    str    r1, [r0]
 
    ldr    r0, =TIM1_EGR
    ldr    r1, =TIM_EGR_UG
    str    r1, [r0]
 
ldr r0, =0x40012C44
ldr r1, =0b00000000000000001100000000000000 //eanble MOE and AOE
str r1, [r0]
 
ldr r0, =0x40012C20
ldr r1, =0b00000000000000000000000000000001 //enable CC1E
str r1, [r0]
 
 
ldr r0, =0x40012C18
ldr r1, =0b0000000000000000000000000111000
str r1, [r0]
 
 
 
 
 
 
 
    ldr    r0, =TIM1_CR1
    ldr    r1, =TIM_CR1_CEN
    str    r1, [r0]
 
    ldr    r0, =NVIC_ISER0
    ldr    r1, =0b00000010000000000000000000000000 //установил  25Бит в единицу.
    str    r1, [r0]
 
loop:
    
b loop
 
 
TIM1_UP_isr:
    ldr    r0, =TIM1_SR
    ldr    r1, [r0]
    bic    r1, #TIM_SR_UIF
    str    r1, [r0]
 
    ldr    r0, =GPIOC_ODR
    ldr    r1, [r0]
    eor    r1, #(1 << 8)
    str    r1, [r0]
 
    bx lr

 

Assembler
()

Откройте курсы по программированию МК

Форум — Talks

здрасьте здрасьте люди добрые. я так понял из общения с вами с профессионалами, что вы не беретесь за мелкие заказы. поэтому специально для вас есть предложение открыть платные курсы по программированию микроконтроллеров. затрат минимум: аренда класса. думаю, что тысяч по тридцать с каждого вы возьмете. 20челове=600000р. организуете?

Перемещено xaizek из job

 

Assembler
()

Искажение

Форум — Development

здрасьте здрасьте люди добрые помогите разобраться

 _ZN3fooC2Ev

_Z-искажение имен
N-вложенность
foo-имя моего класса

а вот что значит двойка после «C» то есть С2? на что она указывает?

 

Assembler
()

где могут «дать» хорошую базу?

Форум — Talks

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

 ,

Assembler
()

Микроконтроллер или процессор?

Форум — Linux-hardware

здрасьте здрасьте люди добрые. запутался в терминах, и поэтому прошу сильно не писать грубости, если буду называть и cortex-m3 и cortex-A53 -процессорами, или Микроконтроллерами. Вопрос вот какой, скажите пожалуйста можно ли припояв cortex-A53 на изготовленую печатную плату программировать также как cortex-m3? то есть через программатор с помощью arm-none-eabi под Linuxoм. ну или вобще можно ли с cortex-A53 общаться как с МК?

 

Assembler
()

Tim1

Форум — Development

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

.cpu cortex-m3
.thumb
.section .text
TIM1_PSC_zero_bit:  .word 0x42258500
TIM_CR1_CEN:        .word 0x42258000
TIM_CR1:            .word 0x40012c00
TIM_BDTR_MOE:       .word 0x422588BC
TIM1_PSC:           .word 0x40012c28

RCC_APB2ENR_TIM1EN: .word 0x4242032C//адрес рассчитан по формуле(смещение*32)+(4*Numbit)+0x42000000
//так как таймер будет работать у меня от частоты шины, то подключаю его.

.global _start
_start:
mov r5, #1
ldr r0, =RCC_APB2ENR_TIM1EN
str r5, [r0]

//TIM1_CNT оставлю по умолчанию.
mov r1, #1
ldr r0, =TIM_CR1_CEN
str r1, [x0]// разрешает счет.

//настраиваю счетчик на дикремент. 
ldr r0, =TIM_CR1_CEN
mov r1, #1
str r1, [r0, #16]// поместил единицу в бит DIR
mov r1, #0
str r1, [r0, #20]  поместил ноль в бит CMS
str r1, [r0, #24] поместил ноль в бит СМS
//помещаю 7999 в TIM_PSC
mov r1, #1
mov r2, #0
ldr r0, =TIM1_PSC_zero_bit
str r1, [r0]
str r1, [r0, #4]
str r1, [r0, #8]
str r1, [r0, #12]
str r1, [r0, #16]
str r1, [r0, #20]
str r2, [r0, #24]
str r2, [r0, #28]
str r1, [r0, #32]
str r1, [r0, #36]
str r1, [r0, #40]
str r1, [r0, #44]
str r1, [r0, #48]
// в TIM_PSC лежит #1111100111111
up:


bl up
чтобы светодиод мигал что нужно сделать? как связать ногу PC13 c TIM1?

 ,

Assembler
()

delay stm32f103

Форум — Development

здрасьте здрасьте люди добрые. ну вот и ожидаемая тема с просьбой помочь разобраться в задержках для stm32f103. пытался реализовать с помощью циклов, но получается что-то уж очень не настраиваемое и время задежки очень мало. нашел что правильно делать delay нужно с помощью systick, но открыв RM в упор не вижу адресов регистро, что очень странно. нагуглил какие-то адреса

0xE000E010 ;	Systick_Control_and_Status_Register
0xE000E014 ;  	Systick_Reload_Value_Register
0xE000E018 ;    Systick_Current_Value_Register
0xE000E01C ;    Systick_Calibration_Value_Register
если я хочу чтобы светодиод вспихивал и и гас через 2сек то как правильно нужно написать и расчитать? поправте пожалуйста для начала надо в SYST_CSR в нулевой бит записать '1' и в первый бит также '1'.
адрес SYST_CSR=0xE000E010

.cpu cortex-m3
.thumb
.word 0x2000000
.wort _start

.section .text
.global _start
_start:



mov r5, =0xE000E010
mov r1, #1
str r1, [r5];  пальцем в небеса! ну пусть я попаду в нулевой бит, а как высчитать первый бит?
у меня вопрос к вам, уважаемые форумчане, вот адрес SYST_CSR=0xE000E010, как высчитать его первый, второй и последующие нужные биты? только с помощью побитовых операций? если есть другой способ и описан в документации, то пожалуйста скажите в какой именно ?

 ,

Assembler
()

Port configuration register high |bit band

Форум — Development

;stm32f103c8 здрасьте здрасьте люди добрые если несложно вам, то подкорректируйте мое понимание, которое сложилось об этом регистре вот небольшой фрагмент программки где пытаюсь настроить pin PC13(GPIOC) на выход.

если mode=00

ТО СNF=
00: Analog mode
01: Floating input (reset state)
10: Input with pull-up / pull-down
11: Reserved

если mode > 0
то 
СNF=
00: [b]General purpose output push-pull[/b] МНЕ НУЖНО ВИДИМО ЭТО
01: General purpose output Open-drain
10: Alternate function output Push-pull
11: Alternate function output Open-drain
и MODE
00: Input mode (reset state)
01: Output mode, max speed 10 MHz.

10: Output mode, max speed 2 MHz. ЭТО НУЖНО потому что не подключаем внешний кварц.

11: Output mode, max speed 50 MHz.
значит в адреса
0x422200D8// это адерс который я высчитал для CNF13(22 бит)
0x422200DC//  это адрес для СNF13(23й бит)

0x422200D0 // это адрес который я высчитал для MODE13(20 бит)
0x422200D4 // это адрес для MODE13(21й бит)

мне нуженo поместить
MODE=0b10
и
СNF=0b00
.cpu cortex-m3
.section .text
.global _start
_start:

mov r5, #0
ldr r3, =0x422200D8
str r5, [r3]// ложу #0 в 22й бит СNF
ldr r3, =0x422200DC 
str r5, [r3]// ложу #0 в 23й бит CNF


mov r5, #1
ldr r3, =0x422200D4
str r5, [r3] //ложу #1 в 21й бит MODE
mov r5, #0
ldr r3, =0x422200D0
str r5, [r3] //ложу #0 в 20й бит
скажите пожалуйста правильно ли я понял?

 

Assembler
()

включить тактирование

Форум — Development

здрасьте здрасьте люди добрые. скажите пожалуйста как правильно включить тактирование? МК stm32f103c8. нарыл что порты ввода|вывода расположены на шине APB2. причем все порты. нельзя включить отдельно порт допустим

GPIO A
GPIO B
можно только подать тактирование на шину
APB2
нахожу
RCC_APB2ENR
в этом регистре нахожу бит
IOPC// так как светодиод висит у меня  на PC13
и теперь видимо мне нужно его выставить в едниницу. нахожу в memory map вижу адрес не APB2 а RCC
RCC 0x40021000
и правильно ли я понимаю что теперь чтобы мне включить бит нужно вычислить адрес по формуле
40021000-40000000=offset
(offset*32)+(4*4)
потому что (4*4) IOPC=4 битом
поправте пожалуйста уважаемые форумчане меня. я не совесем понимаю как правильно считать

 

Assembler
()

доступ к регистра процессора

Форум — Development

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

mov x0, #1
как компилятор поспримет x0 ? как он найдет эту ячейку? x0 для компилятора не адрес? то есть x0 не alias адреса?

 

Assembler
()

RSS подписка на новые темы