Verbix

 

Появилась необходмость подключиться mplayer`ом к винеосерверу Axis M7001. Этот видеосервис раздает поток через RTSP поток.
Стандартная сборка mplayer которая была у меня не поддерживает подобного потокового вещания.

Для сборки новой версии mplayer нам понадобятся:
1) библиотека «LIVE555 Streaming Media»
2) сам mplayer Continue reading »

 

Если кому-то понадобится...
необходимые пакеты iptables, bind...
также необходимо настроить ядро для iptables...
Сделал файл со скриптом ниже, установив его в загрузку: Continue reading »

 

The LPC11xx IAP provides function to call the ISP in the BootROM from user code. Here's an example of how to use it. The code is based on UART example for LPC1114 (for LPCXpresso)

The first thing is that, if you have LPC11xx UART enabled, you need to disable it, including the interrupts

static void StopUART(void)
{
  uint32_t temp;

  /* Disable UART interrupts */
  LPC_UART->IER = 0;
  /* Disable UART interrupts in NVIC */
  NVIC_DisableIRQ(UART_IRQn);

  /* Ensure a clean start, no data in either TX or RX FIFO. */
  while (( LPC_UART->LSR & (LSR_THRE|LSR_TEMT)) != (LSR_THRE|LSR_TEMT) );
  while ( LPC_UART->LSR & LSR_RDR )
  {
temp = LPC_UART->RBR; /* Dump data from RX FIFO */
  }

  /* Read to clear the line status. */
  temp = LPC_UART->LSR;
}

Then, turn on Timer32B1, GPIO and IOCON block in the SYSAHBCLKCTRL, set the stack pointer to the BootROM's requirement, and execute the IAP command 57.

typedef void (*IAP)(unsigned int[], unsigned int[]);

static void ReinvokeISP(void) {
  IAP iap_entry = (IAP) 0x1fff1ff1;
  uint32_t command[5], result[4];

  /* make sure 32-bit Timer 1 is turned on before calling ISP */
  LPC_SYSCON->SYSAHBCLKCTRL |= 0x00400;
  /* make sure GPIO clock is turned on before calling ISP */
  LPC_SYSCON->SYSAHBCLKCTRL |= 0x00040;
  /* make sure IO configuration clock is turned on before calling ISP */
  LPC_SYSCON->SYSAHBCLKCTRL |= 0x10000;
  /* make sure AHB clock divider is 1:1 */
  LPC_SYSCON->SYSAHBCLKDIV = 1;

  /* Send Reinvoke ISP command to ISP entry point*/
  command[0] = 57;

  /* Set stack pointer to ROM value (reset default).
     This must be the last piece of code executed before calling ISP,
     because most C expressions and function returns will fail after
     the stack pointer is changed.
   */

  __set_MSP(*((uint32_t *) 0x1FFF0000)); /* inline asm */

  /* Invoke ISP. We call "iap_entry" to invoke ISP because the ISP entry
     is done through the same command interface as IAP. */

  iap_entry(command, result);

  // Code will never return!
}

Lastly, before you can run your new code (assuming you are upgrading / replacing the firmware using ISP), you will need to reset the MCU.

 

Номинальные ряды E6, E12, E24

Название ряда указывает общее число элементов в нём, т. е. ряд E24 содержит 24 числа в интервале от 1 до 10, E12 — 12 чисел и т. д.

Каждый ряд соответствует определённому допуску в номиналах деталей. Так, детали из ряда E6 имеют допустимое отклонение от номинала ±20 %, из ряда E12 — ±10 %, из ряда E24 — ±5 %. Собственно, ряды устроены таким образом, что следующее значение отличается от предыдущего чуть меньше, чем на двойной допуск.

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

 

В данной статье расмоорим расчет простого транзисторного ключа включенного по приведенной ниже схеме.

Рис.1

В нашем случае R1 это сопротивление в цепи базы, а R2 это сопротивлени нашей нагрузки. Continue reading »

 

Dror Maydan and Steve Leibson, Tensilica
10/10/2006 9:00 AM EDT
Program developers of embedded processor cores within System-onChips (SoCs) want their code to run fast to lessen processor-operating frequency, consume little memory and reduce memory cost. Two key factors affecting the design team’s ability to meet such goals are the compiler’s code-optimizing efficiency and source-code programming styles.

Compilers consist of front and back-ends. The front-end is for syntactic and semantic processing. The back-end performs general optimizations, code generation and further optimization for specific target processor. Good back-ends rely on multilevel intermediate representations (IRs). Continue reading »

 

Язык C++ вслед за С позволяет писать функции с переменным числом параметров. Одним из простых примеров может служить функция, вычисляющая среднее арифметическое своих аргументов. Другой уже классический пример — функция сцепления произвольного количества строк, которая является естественным обобщением функции сцепления двух строк.
Переменный список параметров задается в заголовке функции многоточием:

int f()

Continue reading »

 

В этой заметке рассмотрим полноценную FatFs от мистера ChaN (elm-chan.org) и совместную работу с картой памяти типа Secure Digital отформатированной в FAT. Для экспериментов нам понадобиться стенд с картой памяти, описанный ранее, микроконтроллер Atmega32 или что-то помощнее, например Atmega64-128 и програма Terminal 1.9 или какой-то другой монитор последовательного порта. Сразу оговоримся про использованную терминологию. Кластером (cluster) будем называть наименьший объем информации, которым оперирует файловая система. Кластер состоит из секторов или блоков (количество секторов в кластере зависит от файловой системы). Сектор или блок — минимальный объем информации, который можно хранить на носителе. В случае нашей SD карты памяти сектор равен 512 байт. Далее носитель делиться на логические диски (как С:/ и D:/ в вашей windows). Отформатированный в файловой системе логический диск называется разделом. Отметим, что FatFs может работать одновременно с 10-ю логическими дисками. Continue reading »

 

Пример конфигурационного файла MYSQL.

#Секция клиентов
[client]
# Порт для клиентов.
port = 3306
# Сокет.
socket = /var/run/mysqld/mysqld.sock

#Секция mysqk_safe
# Настройки для работы в режиме mysql_safe
<strong>[mysqld_safe]</strong>
#
socket = /var/run/mysqld/mysqld.sock
#
nice = 0

# Секйция mysqld
# Настройки для работы в режиме mysqld
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
skip-bdb
skip-federated
skip-locking
big-tables
set-variable = net_buffer_length=64M
set-variable = max_allowed_packet=16M
set-variable = myisam_sort_buffer_size=64M
set-variable = sort_buffer=64M
set-variable = max_connections=100
set-variable = key_buffer=32M
set-variable = table_cache=128
long_query_time = 360
record_buffer = 32M
max_connect_errors = 50
connect_timeout = 400

#innodb
innodb_buffer_pool_size = 150M
innodb_additional_mem_pool_size = 50M
innodb_thread_concurrency = 8

[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]

[myisamchk]
key_buffer = 16M
sort_buffer_size = 16M

[isamchk]
key_buffer        = 16M
sort_buffer_size = 16M</pre>
 

Данные действия выполнялись для сервера под управлением Ubuntu 8.04 но могут с успехом применяться и на других системах.

Предполагается, что на сервере уже установлен и настроен SSH сервер.

1) На сервере создать учётную запись пользователя (например, powermanager) , от имени которого будет происходить отключение сервера.
2) На сервере в /etc/ssh/sshd_config раскомментировать строки:

  #PubkeyAuthentication yes
  #AuthorizedKeysFile .ssh/authorized_keys

и проверить параметры следующих строк: Continue reading »

© 2011 ADTL Blog Suffusion theme by Sayontan Sinha