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

Vascom    598

Э нет, это ты заблуждаешься.

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

Так что либо прими всё как есть, либо вникай сам.

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


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
lnx    184
4 часа назад, ARV сказал:

Не понимаю я некоторых вещей, мне советуют их понять, но как?Как можно понять то, что не логично?

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

Если бы ты прочитал приведённую мной ссылку про ConsoleKit и политику Ubuntu по поводу группы audio, ты бы не написал этот идиотизм:

Цитата

А вместо объяснений, куда спряталась логика, мена называют троллем и говорят, что я не хочу разбираться. В логике - хочу. Только во что вникать я должен, если противоречие никто не объясняет: почему один и тот же юзер не взирая на группы наделяется разными правами в зависимости от интерфейса? почему права доступа к файлам не меняются, содержимое групп не меняется, вообще ничего не меняется, а права юзера - меняются?! Где тут логика и в чем она?

Ответ на твой вопрос находится в последнем абзаце по той ссылке "Why". Соберись, сделай это и сам найди ошибку в своём утверждении.

Априори, система Linux - это открытая альтернатива UNIX, априори многопользовательская система. Система состоит из  множества подсистем разного уровня. Априори, доступ к различным ресурсам разграничен. Такова архитектура, философия, политика системы - что не разрешено, то запрещено. Логика проста - при компрометации одной подсистемы, злоумышленник (вредоносное ПО) не получает доступа к ресурсам другой. Помнишь "Всё есть файл?" Файлы устройств находятся в директории /dev, их создаёт менеджер устройств (например, udev). Он же устанавливает владельца и права доступа на этот файл. В зависимости от принадлежности ресурса к той или иной подсистеме, выбирается владелец (например, uucp, storage, usb, audio, video и тд.) четкого стандарта нет, в разных дистрибутивах эта политика может отличаться.

У каждого дистрибутива свои задачи и философия. Компания Canonical решила создать систему для простых людей - Ubuntu, за основу взяв серверную версию своего продукта - добавили в дефолтную комплектацию графическую подсистему (т.н. иксы - X, X-Window). (сама Ubuntu основана на Debian) Чтобы не ломать неокрепшую психику мышеводов, добавили различные графические конфигурилки и подсистемы, которые позволяют пользователю работать с системой, не углубляясь в её особенности, в том числе, прозрачно для пользователя производя манипуляции с правами доступа к ресурсам. Того, что пользователь полезет в консоль, без иксов, видимо, не предусматривалось (думаю, начинающий не сразу и найдёт, как переключиться из иксов в консоль).

Цитата

Я меня черти тянут понять.

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

Не встречал ни одного UNIX/Linux профи, который жаловался бы на нелогичность этих систем.

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

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


Ссылка на сообщение
Поделиться на других сайтах
ARV    215
2 часа назад, lnx сказал:

Не встречал ни одного UNIX/Linux профи

Я не профи и не намерен им стать. Чувствуете разницу?

 

2 часа назад, lnx сказал:

Что сделал ты

1. Я запустил у себя дома на старом компе "сервер" без графического интерфейса, и на протяжении года или даже полутора за ним слежу, поддерживаю его работу и т.п.

2. Я терпеливо слушаю, как вы мне тыкаете и грубите, порой скатываясь в явное хамство.

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

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


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

Ах, простите мою простоту, перейду на Вы, если это так принципиально.

1. Слабоват как-то прогресс за год...

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

Вы даже не потрудились сообщить, что не владеете английским. (вообще, очень странно это слышать от программиста со стажем). Гуглопереводчик переводит на уровне достаточном для понимания.

В общем, удачи, с таким подходом...

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


Ссылка на сообщение
Поделиться на других сайтах
GDK    2
В 5/24/2017 в 14:19, ARV сказал:

И именно по этой причине "простому пользователю" по умолчанию можно пользоваться аудиоплейерами, а более опытному "администратору" в консоли по умолчанию это запрещено. Это логика или что?

Ну и в чём нелогичность то? О "простом пользователе" заботится GUI, более опытный "админ" пусть о себе заботится сам, на то он и более опытный.

  • Одобряю 1

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


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

Неплохая логика, одобряю.

Назвался груздем - полезай в короб.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

    • Автор: admin
      Честный обзор миникомпьютера OMEGA 2. Характеристики, подключение и работа с командной строкой. Отправляем твит и компилируем свое приложение прямо на миникомпьютере.
      Ссылка на миникомпьютер: https://www.indiegogo.com/projects/omega2-5-linux-computer-with-wi-fi-made-for-iot
      Ссылка на документацию: https://docs.onion.io/omega2-docs/
      Ссылка на opkg пакеты: http://repo.onion.io/omega2/
    • Автор: 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 по цельсию.
      Вопрос, что может быть. Может минус плохой и на монтажных схемках такого рода ( как на фотке ) собирать схемы на МК - плохая идея ? Аля нужно паять ?!
      Спасибо !!!



    • Автор: Vascom
      Кто-нибудь использует stlink https://github.com/texane/stlink для работы с МК под Linux?
    • Автор: vv7
      Привет,
      Каким образом можно прошить МК в Linux ( Например: Pic18F4550 ) ?

      Результаты поиска в инете закончились провалом ...
      Я смог подключить и соединить PICKit3 в MPLAB через Linux, но ... я смог прошить мк только через Low Voltage ... и, как-то не удобно пользоваться MPLAB в этом деле.
      Под Windows я использую простую прогу Standalone PICKit3 Programmator v3.10 ( Всё Работает на УРА !!!), но нужен аналог под Linux ( Ubuntu 15.04 )

      Есть ли какой-то скрипт или прога под Линь, который просто прошивает чип HEX файлом ?
      Типа, аля: ./pickit3 -w /home/user/Desktop/Test/file.hex -c pic18f4550
      Спасибо заранее !!!
    • Автор: carlogulliani
      Добрый день, подскажите, есть директория с проектом и библиотеками
      структура директории

      /--------------------- main.c lib | |-------cmsis |-------mylib | |--------led | |-------- led.h |-------- led.c |-------STM32F4xx_StdPeriph_Driver build Makefile
      Как подключить папку led к линковщику

      // led.h #include <stdio.h> #include "stm32f4xx.h" void turnOn(); void turnOff();

      // led.c #include "led.h" void turnOn() { GPIO_SetBits(GPIOD, GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15); } void turnOff() { GPIO_ResetBits(GPIOD, GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15); }

      // main.c #include <stdio.h> #include "stm32f4xx.h" #include "led.h" ... // init gpio ... extern void turnOn(); extern void turnOff(); ... // init sys clock ... int main(void) { setSysTick(); while(1) { //check the push button turnOn(); Delay(500); turnOff(); } return 0; }
      описание файла Makefile для линковщика и компилятора

      # Makefile # STM32F4-Discovery Makefile for Mac OSX SRCS=$(wildcard *.c) # Add assembly source files here or use $(wildcard *.s) for all .s files S_SRCS = CortexM4asmOps.s # Project name PROJ_NAME = test OUTPATH = build OUTPATH := $(abspath $(OUTPATH)) BASEDIR := $(abspath ./) MKDIR_P = mkdir -p ################################################### # Check for valid float argument # NOTE that you have to run make clan after # changing these as hardfloat and softfloat are not # binary compatible ifneq ($(FLOAT_TYPE), hard) ifneq ($(FLOAT_TYPE), soft) #override FLOAT_TYPE = hard override FLOAT_TYPE = soft endif endif ################################################### AS=$(BINPATH)arm-none-eabi-as CC=$(BINPATH)arm-none-eabi-gcc LD=$(BINPATH)arm-none-eabi-gcc OBJCOPY=$(BINPATH)arm-none-eabi-objcopy OBJDUMP=$(BINPATH)arm-none-eabi-objdump SIZE=$(BINPATH)arm-none-eabi-size LINKER_SCRIPT = stm32_flash.ld CPU = -mcpu=cortex-m4 -mthumb CFLAGS = $(CPU) -c -std=gnu99 -g -O2 -Wall LDFLAGS = $(CPU) -mlittle-endian -mthumb-interwork -nostartfiles -Wl,--gc-sections,-Map=$(OUTPATH)/$(PROJ_NAME).map,--cref --specs=nano.specs ifeq ($(FLOAT_TYPE), hard) CFLAGS += -fsingle-precision-constant -Wdouble-promotion CFLAGS += -mfpu=fpv4-sp-d16 -mfloat-abi=hard else CFLAGS += -msoft-float endif # Default to STM32F40_41xxx if no device is passed ifeq ($(DEVICE_DEF), ) DEVICE_DEF = STM32F40_41xxx endif CFLAGS += -D$(DEVICE_DEF) vpath %.a lib vpath %.c lib/mylib # Includes INCLUDE_PATHS = -I$(BASEDIR)/inc -I$(BASEDIR)/lib/cmsis/stm32f4xx -I$(BASEDIR)/lib/cmsis/include -I$(BASEDIR) INCLUDE_PATHS += -I$(BASEDIR)/lib/Conf INCLUDE_PATHS += -I$(BASEDIR)/lib/STM32F4xx_StdPeriph_Driver/inc INCLUDE_PATHS += -I$(BASEDIR)/mylib/im INCLUDE_PATHS += -I$(BASEDIR)/mylib/im/led # Library paths LIBPATHS = -L$(BASEDIR)/lib/STM32F4xx_StdPeriph_Driver # Libraries to link LIBS = -lstdperiph -lc -lgcc -lnosys OBJS = $(SRCS:.c=.o) OBJS += $(S_SRCS:.s=.o) ################################################### .PHONY: lib proj all: dir lib proj $(SIZE) $(OUTPATH)/$(PROJ_NAME).elf lib: $(MAKE) -C lib FLOAT_TYPE=$(FLOAT_TYPE) BINPATH=$(BINPATH) DEVICE_DEF=$(DEVICE_DEF) BASEDIR=$(BASEDIR) proj: $(OUTPATH)/$(PROJ_NAME).elf .s.o: $(AS) $(CPU) -o $(addprefix $(OUTPATH)/, $@) $< .c.o: $(CC) $(CFLAGS) -std=gnu99 $(INCLUDE_PATHS) -o $(addprefix $(OUTPATH)/, $@) $< $(OUTPATH)/$(PROJ_NAME).elf: $(OBJS) $(LD) $(LDFLAGS) -T$(LINKER_SCRIPT) $(LIBPATHS) -o $@ $(addprefix $(OUTPATH)/, $^) $(LIBS) $(LD_SYS_LIBS) $(OBJCOPY) -O ihex $(OUTPATH)/$(PROJ_NAME).elf $(OUTPATH)/$(PROJ_NAME).hex $(OBJCOPY) -O binary $(OUTPATH)/$(PROJ_NAME).elf $(OUTPATH)/$(PROJ_NAME).bin $(OBJDUMP) -S --disassemble $(OUTPATH)/$(PROJ_NAME).elf > $(OUTPATH)/$(PROJ_NAME).dis dir: $(MKDIR_P) $(OUTPATH) clean: rm -f $(OUTPATH)/*.o rm -f $(OUTPATH)/$(PROJ_NAME).elf rm -f $(OUTPATH)/$(PROJ_NAME).hex rm -f $(OUTPATH)/$(PROJ_NAME).bin rm -f $(OUTPATH)/$(PROJ_NAME).dis rm -f $(OUTPATH)/$(PROJ_NAME).map # Remove the following line if you don't want to clean the Libraries as well $(MAKE) clean -C lib flash: st-flash write build/$(PROJ_NAME).bin 0x08000000
      компилирую библиотеки

      make lib make[1]: `mylib' is up to date.
      собираю бинарник

      make
      выдает ошибку

      build/main.o: In function `main': main.c:37: undefined reference to `turnOn' main.c:39: undefined reference to `turnOff' collect2: error: ld returned 1 exit status make: *** [build/test.elf] Error 1
      Если файлы из lib/mylib/led перенести в корень (на уровень, что и main.c), тогда все собирается хорошо
      Пробовал также добавить

      SRCS=$(wildcard lib/mylib/led/*.c) ассемблер ругается что нет .o файла Assembler messages: Fatal error: can't create /lib/mylib/led/led.o: No such file or directory make: *** [lib/mylib/led/led.o] Error 1
      пытаюсь скомпилировать .o файл

      gcc -g -o -c led.c
      не может подтянуть другие хедеры

      In file included from led.c:1: ./led.h:2:10: fatal error: 'stm32f4xx.h' file not found #include "stm32f4xx.h"