motofan logo
4 страниц V  1 2 3 > »         
> 

Развитие платформы

uxobryux
сообщение 3.4.2007, 10:12


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Итак на сегодняшний день Motorola развивает 3 программных и 4 аппаратных платформы.
Начнем с аппарата:
1. LTE Neptune, LTE Neptune 2
2. Powerful TI 2420 (330Mhz) RIZR Z8
3. Freescale SCMA-11 (628Mhz) ROKR Z6
4. Intel xScale PXA 270 (104 - 624 Mhz) A780, E680, ROKR E2, ROKR E6, RAZR V6 MAXX, KRZR K3

Программных платформы, как говорилось выше, так же 3.
1. P2K - развивается до сих пор в бюджетных моделях.
2. Symbian - развивается, но крайне вяло. Телефоны Motorola на Symbian можно пересчитать по пальцам.
3. Linux (eZx, LJ(Linux Java))

Поговорим о линух платформе и телефонах на базе Intel.
Как вы видите линейка довольно велика. Аппаратная платформа одна, программная тоже, но с течением времени программная дорабатывается.
Все прекрасно сзнают что в яве Е2 не силен... А вот KRZR K3 силен...
Для примера:
JBenchmark 3.1.0
ROKR E2 KRZR K3
Gaming 19 (0.6 fps) 280 (9.3 fps)

На ROKR E2 прошивки выходят, но скорость явы не растет, можно предположить, что и не будет расти никогда. Всвязи с этим вопрос:
Надо что-то делать, но вот что??? Можно ли будет ядро K3 перетащить к нам?
Может письмо Мотороле накатать от лица сайта и форума MotoFan.ru?(Идея на самом деле не глупая. На mobile-review.com есть проект user\vendor. Они написали письмо Мотороле по поводу того, что бы они хотели видеть в телефонах Motorola. В частности написали, что хотели бы видеть в Z6 разъем для наушников 3.5 minijack. И вот результат. ROKR Z6 для сетей CDMA выходит с 3.5 разъемом.)
Просто надо что-то делать...

Всех, кого волнует данная тема прошу высказаться.

ЗЫ:Платформу 3G в отдельный пункт не выделил, т.к. к скорости явы отношения не имеет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
whitemoto
сообщение 3.4.2007, 10:22


Ветеран
*****

Группа: Разработчики
Сообщений: 553
Регистрация: 22.12.2005
Пользователь №: 63 052
Модель телефона: Motorola ROKR E2
Прошивка: pre

Рейтинг: 165.5



что бы что-то сделать нужно хорошо в линуксе разбираться.
людей мало реально понимающих как сейчас обстоят дела, и что можно подправить, а главное как это сделать...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DanmaN
сообщение 3.4.2007, 13:54


Интересующийся
**

Группа: Пользователи
Сообщений: 91
Регистрация: 20.12.2005
Из: С-Пб
Пользователь №: 62 714
Модель телефона: MotoX XT1052

Рейтинг: 28



Подпишусь под всем, что будем отправлять мотороле. shuffle.gif

Цитата
Intel xScale PXA 270 (104 - 624 Mhz)

Это динамически на каждом камне, или в каждом аппарате своя частота? Е2 ведь ~300Mhz? Или до 600 разогнать программно можно?

А в яву я вообще не верю. sad.gif Её Sun же разрабатывали изначально для банкоматов вроде, степень защиты - высокая, производительность - низкая. sad.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lelvisl
сообщение 3.4.2007, 14:17


Ветеран
*****

Группа: Пользователи
Сообщений: 484
Регистрация: 14.1.2007
Пользователь №: 116 837
Модель телефона: Milestone & A1200

Рейтинг: 103.5



Я с вами. Но вопрос - получится ли перетащить ву с К3 на Е2? Платформы же разные....
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 3.4.2007, 14:18


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Частоту можно менять программно... На Е2 на прошивках до 29 включительно 312Мгц, после 208...

Добавлено позже (3.4.2007, 18:35):
Счас прошиваюсь на второй монстр, а заодно просматриваю файл RDL3.smg
Наткнулся на такие строчки...

Starting kernel ...

__Hey, the kernel returned! This should not happen.
__boot____
SDRAM is 32MB
_
SDRAM is 16MB
_blob version 2.0.5-pre2-Intel for barbados
_CMDL____
Consider yourself LARTed!

____Copyright © 1999 2000 2001 Jan-Derk Bakker and Erik Mouw
_blob comes with ABSOLUTELY NO WARRANTY; read the GNU GPL for details.
__This is free software, and you are welcome to redistribute it
__under certain conditions; read the GNU GPL for details.
____Current stack pointer: 0x___
BB_RESET and MCU_INT_SW are __
Now, enter reflash mode.
_
Reflash caused by option 1&2 short! __
Reflash caused by REC key!
__
BP assert BP_WDI before reset_
No BP_WDI before reset____
Entering AP normal start up ...
___Blob memory address: 0x_Booting Non-XIP RAMOS Kernel!!!_Booting Non-XIP Kernel from Flash!!!____Autoboot in progress, press any key to stop ____
Autoboot aborted
__Type "help" to get a list of commands
___ __
Start reflash code! __blob____Switching to ___ baud
__You have 60 seconds to switch your terminal emulator to the same speed and
_start downloading. After that blob will switch back to _ baud.
_You have 60 seconds to start downloading.
__
(Please switch your terminal emulator back to _ baud)
_Received ___ (0x____) bytes_download____go__Switch your terminal emulator to the same speed and
____start sending using the XMODEM protocl (repeated ^X) to quit.
__blob will switch back to ___ baud after XMODEM succeeds or times out.
__Start sending using the XMODEM protocol (repeated ^X to quit).

____


_xdownload___image too large for flash: 0x___ > 0x___Saving _ to flash
__flash___1200____1k2_9600____9k6_19200___19k2____38400___38k4____57600___57k6__
__115200__115k2___230400__230k4___Download speed set to __speed___Download speed : __Terminal speed : __blob (0x_): _from flash
_downloaded at 0x____ bytes
_param : Not available
____kernel (0x_ramdisk (0x_status__Loading blob from flash ____Loading kernel from flash __Loading ramdisk from flash _ done
__
USB pass-through mode! ___
check Option 1,2 in/out by GPDR0 is __
Reset BP _
End reset BP _

Motorola AP bootloader.
Version 0.99____Fill: startaddr=0x__ size=0x____ writeval=0x____fill____FAIL: addr=0x___ val=0x_Total failures: ____Memtest: startaddr=0x___memtest_reload__(unknown)___ELF sections layout:
___ - 0x___ .text
_ .rodata
___ .data
_ .got
__ .commandlist
__ .initlist
_ .exitlist
_ .ptaglist
_ .bss
__ .stack (in .bss)
__can't get partition table
__Flash partition layout:
____, load at 0x____, entry point at 0x_Restarting blob from RAM...

___blob not downloaded
____reblob__begin ______in__Turbo Mode clock: %d.%02dMHz (*%d.%d, %sactive)
____Memory clock: %d.%02dMHz (Alt=%d, SDCLK[0]=/%d, SDCLK[1]=/%d)
__System bus clock: %d.%02dMHz
__
Flash Timing Registers:
___ MDREFR 0x%08X
__ SXCNFG 0x%08X
__ MSC0 0x%08X
__ RCR_ADDR 0x%08X
__ RCR_VAL 0x%08X
__ LC count 0x%08X
__ CCCR 0x%08X
__ CCSR 0x%08X
__ clkcfg 0x%08X
__ MDCNFG 0x%08X
__ MDMRS 0x%08X
__fwrite__ferase__Run Mode clock: %d.%02dMHz (*%d)
___clockinfo___%s: error code = 0x%08x
____unlock_block_32bit__erase_block_32bit___Erasing %d blocks at 0x%08x:____done
___do_write_word_32bit_%s : error code = 0x%08x
___do_write_buffer_32bit___Flashing 0x%08x bytes at 0x%08x:____%s: error code = 0x%04x
____unlock_block_16bit__erase_block_16bit___do_write_word_16bit_%s : error code = 0x%04x
___do_write_buffer_16bit___%s : unknown flash type %d { id=%08x }
_flash_write_%s : Not align to region->block_size:0x%08x
____flash_write: buswidth = %d is not supported
____flash_erase_zombie__zombie suspended____default_default suspended___address_address suspended___configured__config suspended____suspend_resume__address assigned____configure___de-configure____not attached____powered_USB is available. Please config the host usb0 interface.
___blob& gt;___myusb___RSRC____RSHW____000D0203340F0001,000D0201340F0001,000D02010100340F
,000D0206340F0001,000D0206340F0001,000D0206340F0001,000D0206340F0001,000D0206340
F0001,000D0206340F0001____RSVN____RSCS____ERASE___ADDR____BIN_BAUD____POWER_DOWN
__RQCS____RQHW____RQRC____RQSN____RQVN____JUMP____WUPID___RUPID___UPGRADE_RESTAR
T_RBRK____Motorola Inc.___Motorola Ezx Bootloader_Blank Ezx___Flashed Ezx_Motorola Ezx Flash__Motorola Ezx AP Flash___Motorola Flash__Out of buffer
__
### Now copying 0x_ words from 0x__CmdMemcpy___memcpy__adr=0x__ type=__Poke____poke____Peek____peek____dump____->__BitChange___bitchg__Calling function at 0x__
Return value: 0x___Call____call____Beginning LCD Test
NUM_ROWS: ___NUM_COLS: __Motorola
___12345678901234567890123456789012345678901234567890
_1
2
3
4
5
6
7
8
____Test____End LCD Test
___argv[___] = ____get_num_command_matches(): Address = 0x_parse_command(): Address = 0x___Help for '__':

Usage: _The following commands are supported:___
* _
Use "help command" to get help on a specific command
__help____blob> __can't read command__no error____invalid argument____not enough parameters___magic value failed__invalid command_not a number____alignment error_out of range____timeout exceeded____short file__long file___ambiguous command___can't erase flash block_flash program error_serial port error___unknown error___*** ____Address = 0x____Rebooting...

______ _c_____c______________________________________________________0123456789ABCDEFGH
IJKLMNOPQRSTUVWXYZ____0123456789abcdefghijklmnopqrstuvwxyz____<NULL>__boot [kernel options]
Boot Linux with optional kernel options
_____\_˜ \download {blob|param|kernel|ramdisk}
Download <argument> image to RAM using uuencode
___go address
go and execute code at <address>, address in hex
___xdownload {blob|param|kernel|ramdisk}
Download <argument> image to RAM using xmodem
____flash {blob|param|kernel|ramdisk}
Write <argument> image to flash
__speed [baudrate]
Set download speed. Valid baudrates are:
1200, 9600, 19200, 38400, 57600, 115200, 230400,
1k2, 9k6, 19k2, 38k4, 57k6, 115k2, 230k4
_status
Display current status
__fill startaddr sizeinbytes [writeval]
Fill the range <startaddr> to <startaddr+size-1> with writeval
Default writeval is 0x0
___memtest startaddr sizeinbytes [writeval]
Memtest the range <startaddr> to <startaddr+size-1> by writing writeval
Default writeval is 0xa5a5a5a5
____reload {blob|param|kernel|ramdisk}
Reload <argument> from flash to RAM
_reblob
Restart blob from RAM
__________________@___________D___________H___________\___________ ________fwrite srcadr destadr size(bytes)
flash a memory region
____ferase adr size(bytes)
erase a flash region
____clockinfo
print out processor clock information


..............


copy len bytes from src to dst
__poke address value [b|h|w]
b = byte, h = half word, w = word (default is w)
____peek address [b|h|w]
b = byte, h = half word, w = word (default is w)
__dump address [endAddress]
__bitchg address value {and|or|xor|set|clear}
____call address [arg0 [arg1 [arg2 [arg3]]]]
Call function at <address> with optional arguments


..............



Обратите внимание на то где указывается частота шины, памяти и еще какого то Turbo Mode. Не так ли задается частота проца? На счет памяти... где то читал что у нас 104 мгц...

ЗЫ: Смотрел через вордпад. Сам ворд открывает коряво, незнакомые ему значки интерпретирует как нижнее подчеркивание...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dimichxp
сообщение 3.4.2007, 14:49


Ветеран
*****

Группа: Разработчики
Сообщений: 639
Регистрация: 8.2.2005
Из: г. Иркутск
Пользователь №: 36 596
Модель телефона: zn5, e8
Прошивка: 00.28I, 02.07R
Победитель конкурса 2008

Рейтинг: 500



Ковыряй blob и ядро, там частота задается. Исходники всего этого есть на opensource.motorola.com
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4473
сообщение 3.4.2007, 15:40


Мастер
****

Группа: Пользователи
Сообщений: 266
Регистрация: 19.10.2005
Пользователь №: 55 068
Модель телефона: E398 > E1 > E2 > E6
Прошивка: >>>>>>>>>>>

Рейтинг: 8.5



Цитата(dimichxp @ 3.4.2007, 18:49) *

Ковыряй blob и ядро, там частота задается. Исходники всего этого есть на opensource.motorola.com

Не! на Е2 железно не получится разогнатся
Гдето писали об этом (образно говоря не хватает перемычки)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DanmaN
сообщение 3.4.2007, 16:11


Интересующийся
**

Группа: Пользователи
Сообщений: 91
Регистрация: 20.12.2005
Из: С-Пб
Пользователь №: 62 714
Модель телефона: MotoX XT1052

Рейтинг: 28



Припаять? Если говорят, значит знают, где. ph34r.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 3.4.2007, 16:39


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



Ну разогнать можно программно... кому интересно - скажу в каких хедерав в сорцах ядра смотреть. Единственная для меня проблема - это то, что я не понимаю как в gcc компилить многофайловые проекты, а так, процедурка очень и очень простая...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
whitemoto
сообщение 3.4.2007, 17:11


Ветеран
*****

Группа: Разработчики
Сообщений: 553
Регистрация: 22.12.2005
Пользователь №: 63 052
Модель телефона: Motorola ROKR E2
Прошивка: pre

Рейтинг: 165.5



bad-rustamka,
make файл создаешь и в нем указываешь arm компилер
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 4.4.2007, 5:18


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



bad-rustamka

Где искать??? Какие файлы качать?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dimichxp
сообщение 4.4.2007, 5:28


Ветеран
*****

Группа: Разработчики
Сообщений: 639
Регистрация: 8.2.2005
Из: г. Иркутск
Пользователь №: 36 596
Модель телефона: zn5, e8
Прошивка: 00.28I, 02.07R
Победитель конкурса 2008

Рейтинг: 500



uxobryux,

linux-2.4.17/arch/arm/mach-pxa/bulverde_* смотри

ядро собирать с помощью make, тоьлко нужно префикс toolchain'а поменять в .hhl_cross_compile. (если он у вас конечно не xscale_le).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 4.4.2007, 5:50


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Кто зарегистрирован на developer.motorola.com зайдите на http://developer.motorola.com/docstools/te...e_20061001.pdf/ (это вроде как Optimizing a Java ME Application Part 1: Speed)
Я зарегистрирован, но зайти не могу. Требуют логин, а при заполнении анкеты логин не вводишь. Только имя и фамилию. Я уже все перепробовал - никак не могу зайти...

ПОСМОТРИТЕ ПОЖ, И ВЫЛОЖИТЕ СЮДА...

Добавлено позже (4.4.2007, 10:03):
dimichxp, в каком архиве??? дай ссылку плиз, а то там архивы по 30 метров. Каждый качать не хочется...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Kirill111111
сообщение 4.4.2007, 6:09


Гуру
******

Группа: Пользователи
Сообщений: 1 009
Регистрация: 19.11.2004
Из: Самара
Пользователь №: 22 010
Модель телефона: ROKR E2
Прошивка: DarkShadow 4AP

Рейтинг: 220.5



Цитата(uxobryux @ 4.4.2007, 10:50) *

Кто зарегистрирован на developer.motorola.com зайдите на http://developer.motorola.com/docstools/te...e_20061001.pdf/ (это вроде как Optimizing a Java ME Application Part 1: Speed)
Я зарегистрирован, но зайти не могу. Требуют логин, а при заполнении анкеты логин не вводишь. Только имя и фамилию. Я уже все перепробовал - никак не могу зайти...

ПОСМОТРИТЕ ПОЖ, И ВЫЛОЖИТЕ СЮДА...

Добавлено позже (4.4.2007, 10:03):
dimichxp, в каком архиве??? дай ссылку плиз, а то там архивы по 30 метров. Каждый качать не хочется...

Вводи мыло вместо логина
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 4.4.2007, 6:29


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Прикрепленный файл Optimize_20061001.pdf   ( 281.71 килобайт ) Кол-во скачиваний: 327


Kirill111111, мерси

Файл, который объясняет(ИМХО) почему у нас такая медленная ява... Рассматривается время выполнения операции в том числе и на циклах. Разница бавет в несколько тысяч раз...

Добавлено позже (4.4.2007, 10:30):
Кстати, кто будет на КРИ отпишитесь. Можем там встретиться. Вопросов для обсуждения полно....

Добавлено позже (4.4.2007, 10:56):
Туда же...
1. Рассматриваются методы сортировки. Есть коды стортировок. Показан самый эффективный.
2. Не вник о чем речь...

Я попытаюсь заняться явой, но несколько позже... Счас диплом на носу... У кого есть желание - милости просим. smile.gif
Прикрепленный файл Optimize_20061001.pdf   ( 281.71 килобайт ) Кол-во скачиваний: 327
Прикрепленный файл Optimizing_Applications_2_20061101.pdf   ( 222.98 килобайт ) Кол-во скачиваний: 103
Прикрепленный файл Canvas_Performance_20070201.pdf   ( 322.63 килобайт ) Кол-во скачиваний: 78
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dimichxp
сообщение 4.4.2007, 7:01


Ветеран
*****

Группа: Разработчики
Сообщений: 639
Регистрация: 8.2.2005
Из: г. Иркутск
Пользователь №: 36 596
Модель телефона: zn5, e8
Прошивка: 00.28I, 02.07R
Победитель конкурса 2008

Рейтинг: 500



uxobryux,

Качай kernel... (ядро) и apboot... (blob).


Если хочешь узнать про алгоритмы, например сортировки, то читай не мотороловские доки для ява-кодеров, а Кнута wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 4.4.2007, 8:13


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



В apblob файл Start.S

/************************/
/* Change Frequency!!! */
/************************/

// ldr r1, =0x110 // 208MHz L=16 N=1
// ldr r1, =0x18f
change_frequency:
#if defined(SUMATRA)
ldr r1, =0x02000190 //L=16 2N=3 A=1
#else
ldr r1, =0x02000110 //L=16 2N=2 A=1
#endif
ldr r2, =0x41300000 // Core Clock Config Reg
str r1, [r2] // set speed

// mov r1, #0x2 // set to Frequency Change Mode
// mov r1, #0x3
mov r1, #0xb //B=1 turbo mode
mcr p14, 0, r1, c6, c0, 0 // write to the CLKCFG coprocessor reg

Как вы видите, строки с указанием частоты закомментены. Введены другие значения для SUMATRA (ROKR E2)...
Теперь надо узнать что такое ldr r1, =0x02000190 //L=16 2N=3 A=1, короче надо узнать что в этом регистре означают L, 2N, A.


Файл Start-SA11x0.S

/* The initial CPU speed. Note that the SA11x0 CPUs can be safely overclocked:
* 190 MHz CPUs are able to run at 221 MHz, 133 MHz CPUs can do 190 Mhz.
*/
cpuspeed: .word CPU_SPEED



/* the actual reset code */
reset:
/* First, mask **ALL** interrupts */
ldr r0, IC_BASE
mov r1, #0x00
str r1, [r0, #ICMR]

/* switch CPU to correct speed */
ldr r0, PWR_BASE
ldr r1, cpuspeed
str r1, [r0, #PPCR]



Сообщение отредактировал uxobryux - 4.4.2007, 9:15
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 4.4.2007, 8:58


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



в файле bulverde_freq.h:

#define CCLKCFG_TURBO 0x1
#define CCLKCFG_FCS 0x2

#define L_NUM 31 /* 30 different L numbers. */
#define N_NUM 7 /* 7 N numbers.*/

в файле bulverde_freq.c

int bulverde_get_freq(void)
{
unsigned int freq, n,l, ccsr;

ccsr =CCSR;

l = ccsr & CCCR_L_MASK; /* Get L */
n = (ccsr & CCCR_N_MASK)>>7; /* Get 2N */

if (n < 2)
n=2;

/* Shift to divide by 2 because N is really 2N */
freq = (13000 * l * n) >> 1; /* in kHz*/

return freq;
}



Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 4.4.2007, 9:24


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Мне кажется они издеваются... smile.gif
30 различных чисел... что это???
пипец какой то

Добавлено позже (4.4.2007, 13:41):
Итак, получаем...
/* Shift to divide by 2 because N is really 2N */
freq = (13000 * l * n) >> 1; /* in kHz*/

т.к. 2N = 3...

freq = (13000 * l * 3) >> 1; /* in kHz*/
что означает "%"???
Какое значение у CCSR???
Какое значение у CCCR_L_MASK, CCCR_N_MASK??? По идее оно должно быть равно L=16 2N=3 A=1, но проверить не помешает...


ldr r1, =0x02000190 //L=16 2N=3 A=1
кстати если 208 / 16 = 13: L=16
Это я про freq = (13000...


Считаем...
freq = (13000 * L * N)
freq = (13000 * 16 * 3) = 624000 (624 - масимальная частота процессора...)

но есть такие строчки...

l = ccsr & CCCR_L_MASK; /* Get L */
n = (ccsr & CCCR_N_MASK)>>7; /* Get 2N */
//берем значение l и n... L = 16, N = 3
if (n < 2)
n=2;
//тут же ставится ограничение что n не может быть больше 2

/* Shift to divide by 2 because N is really 2N */
freq = (13000 * l * n) >> 1; /* in kHz*/
// в итоге получаем freq = (13000 * 16 * 2) = 416000. Чувствуется, где-то еще стоит деление частоты надвое... Тем не менее если сейчас убрать
//if (n < 2)
//n=2;
//мы уже должны получить 312 мгц...
return freq;

Надо бы посмотреть код прошивок, где 312 мгц, то есть до 29 включительно... их исходники есть???

Добавлено позже (4.4.2007, 14:08):
А вот, кстати и деление надвое, о котором говорил выше...
cpufreq_matrix[n-2][l-2] = ( 13*n*l /2 ) * 1000;
тут же килогерцы переводим в мегагерцы...

Добавлено позже (4.4.2007, 14:09):
Соответственно получаем 208 мгц...
уффффф.... разобрались.

Добавлено позже (4.4.2007, 14:15):
bad-rustamka, надо посмотреть код прошивки Е6(у него 312 мгц), файл bulverde_freq.c
вот это int bulverde_get_freq(void) и это static void bulverde_initialize_freq_matrix(void)

Добавлено позже (4.4.2007, 14:15):
Я сегодня уезжаю на КРИ и заниматься этим не смогу до завтра...

Сообщение отредактировал uxobryux - 4.4.2007, 10:17
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
King..Ring
сообщение 4.4.2007, 10:42


Новичок
*

Группа: Пользователи
Сообщений: 22
Регистрация: 6.9.2005
Из: 195.234.61.72
Пользователь №: 50 708
Модель телефона: E2
Прошивка: Ultimate

Рейтинг: 5



На сколько я понял - максимальная частота получится 312MHz? А не повлияет ли это на работу Java?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 4.4.2007, 13:15


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



uxobryux,
имхо лучше вытащить процедуры set_freq() и get_freq и заюзать их из проги....
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 5.4.2007, 10:03


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



King..Ring , на все повлияет. И на батарейку в том числе. Хотя я не думаю что сильно...
bad-rustamka, Куда их вытаскивать, почему лучше именно их и из какой проги юзать? Надо обязательно посмотреть сорцы Е6. Это нам во монгом поможет...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 5.4.2007, 11:00


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



Цитата(uxobryux @ 5.4.2007, 13:03) *

King..Ring , на все повлияет. И на батарейку в том числе. Хотя я не думаю что сильно...
bad-rustamka, Куда их вытаскивать, почему лучше именно их и из какой проги юзать? Надо обязательно посмотреть сорцы Е6. Это нам во монгом поможет...

Ну как как, делаем прогу, в main.cpp пишем:
#include "bulverde_freq.h"

int main()
{
set_freq(312);
}

надо только найти все .c файлы, которые придётся скомпилить вместе с нашей прогой...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 5.4.2007, 20:48


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Вобщем, нам надо сначала поссмотреть код А1200. Я завтра посмотрю, и там решим в каком месте править будем.

freq = (13000 * l * n) >> 1; /* in kHz*/
if (n < 2) // мне кажется, что убирать надо именно эти две строчки...
n=2; // уж больно криво частоту ограничили. видно что сделано на скорую руку.
return freq;

На счет программы идея неплохая и даже оч. хорошая. Только это как будет выглядеть? Как скрипт, или как ява? Пока просто не представляю. Напиши свое видение программы. Идею с программой полностью поддерживаю, но считаю что надо сначала все это проверить на практике, т.е. собрать прошивку на 312 мгц. Если работает - имеет смысл делать прогу.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 6.4.2007, 5:52


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



uxobryux,
я считаю что это должна быть консольная прога, которой в качестве параметра должна передаваться нужная нам частота. Так вот, запускаем эту прогу из скрипта, например из авторана с частотой 312Мгц, прога работает постоянно, т.к. тел автоматически ставит частоту в зависимости от режима(как мне кажется, должно быть несколько режимов - режим энергосбережения, когда тел ничего не делает, и нормальный, когда есть какая-то нагрузка на прой. Так вот, прога в рилтайме проверяет частоту процу, и если она ==208Мгц, ставит указанную(в нашем случае 312Мгц). Хотя я где-то видел в сорцах функции для установки раздельных частот для разных режимов(хм, может это глюки были?) ). Сегодня ещё посмотрю и скажу точно.

добавлено:
см. файл include\linux\cpufrq.h

Сообщение отредактировал bad-rustamka - 6.4.2007, 6:35
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 6.4.2007, 17:44


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



посмотрел я сорцы А1200... вобщем могу сказать, что там куча уставок для разных процов, в том числе и для нашего. Ничем не отличается, т.е. идентична. Все это странно... Если файлы одинаковые, то частота должна быть одинаковая, а она все-таки разная. Может мы не там копаем. мне кажется частота действительно устанавливается в буте. А в ядре она только понижается, когда телефон уходит в спящий режим.
Продолжаю ковырять А1200...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Darkslider
сообщение 6.4.2007, 22:14


Гуру
******

Группа: Пользователи
Сообщений: 1 343
Регистрация: 29.5.2005
Из: Moscow
Пользователь №: 43 239
Модель телефона: DroidMaxx
Прошивка: 4.4.4


Настроение:
Motorola. С 1го телефона в 2005г и до сих пор. <3



Рейтинг: 259.5



и действительно.я думаю что всё таки телефон "спит",экран отрубается,часы не двигаются,проц юзается минимально
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 10.4.2007, 10:11


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Возврашаясь к бутлоадеру...
/************************/
/* Change Frequency!!! */
/************************/

// ldr r1, =0x110 // 208MHz L=16 N=1
// ldr r1, =0x18f
change_frequency:
#if defined(SUMATRA)
ldr r1, =0x02000190 //L=16 2N=3 A=1
#else
ldr r1, =0x02000110 //L=16 2N=2 A=1
#endif

Разберемся в этом поподробнее...
Если телефон Сумматра (ROKR E2) то устанавливаем частоту 312мгц.
#if defined(SUMATRA)
ldr r1, =0x02000190 //L=16 2N=3 A=1

Ежели нет, то 208.
#else
ldr r1, =0x02000110 //L=16 2N=2 A=1

То-есть если, например в 45 прошиве этот файл остался без изменений, то бут устанавливает частоту 312 мгц, а вот ядро после его загрузки сбрасывает частоту до 208 мгц. Вот такие пироги. Поскольку ядро само управляет частотой, то ковыряться в буте бесполезно...

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

#define CPUVOLTAGE_MINMAX (0) Содержит значения максимального и минимального напряжения
#define CPUVOLTAGE_PRECHANGE (1) Напряжение до изменения
#define CPUVOLTAGE_POSTCHANGE (2) Напряжение после изменения.

#define BLVD_MAX_VOL 1400 /* in mV. */ Максимальное напряжение. В активном режиме телефона именно оно устанавливается.
#define BLVD_MIN_VOL 850 /* in Mv. */ Минимальное напряжение. Оно же напряжение в спячке.
#define BLVD_DEF_VOL 1400 /* the default voltage. */ Напряжение по дефолту.

int cpu_voltage_setmax(void); Устанавливаем максимальное напряжение.
int cpu_voltage_restore(void); Сброс напряжения до дефолтного.
unsigned int mv2DAC(unsigned int mv); Устанавливаем напряжение в милливольтах
void vm_setvoltage(unsigned int); То же самое по идее
unsigned int bulverde_validate_voltage(unsigned int mv); Тут можно установить промежуточное напряжение между 1400 мв и 850 мв...
void cpu_voltage_updateminmax(void *arg, unsigned int min, unsigned int max) Тут можно установить напряжение меньше минимального и больше максимального(но не между ними)
extern void cpu_voltage_init(unsigned int, unsigned int, unsigned int); Использование этой функции возможно при инициализации.
extern unsigned int bulverde_read_clkcfg(void); Считываем частоту проца (дабы избежать ситуаций, когда на проц подается 850 мв(спящий режим), а мы пытаемся установить частоту в 312 мгц. То-есть есть контроль частоты в зависимости от напряжения и наоборот). Это все догадки...
void bulverde_set_voltage(unsigned int mv); Устанавливаем вольтаж. Может еще что-то... ХЗ..
void bulverde_prep_set_voltage(unsigned int mv); То же самое...
int bulverde_vcs_init(void); ХЗ...

#define cpu_voltage_current(cpu) ( cpu_voltage_cur) Текущее напряжение.
#define cpu_voltage_max(cpu) ( cpu_voltage_max) Максимальное напряжение.
#define cpu_voltage_min(cpu) ( cpu_voltage_min) Минимальное напряжение.

Это, пожалуй, по вольтажу основное...

Пояснения по поводу static void bulverde_initialize_freq_matrix(void)...
{
int n,l;

memset(&cpufreq_matrix,0 ,sizeof(cpufreq_matrix));

for(n=2; n< N_NUM+2 ; n++) {
for(l=2; l<= L_NUM; l++) {
cpufreq_matrix[n-2][l-2] = ( 13*n*l /2 ) * 1000 ;
if( cpufreq_matrix[n-2][l-2] > BLVD_MAX_FREQ )
cpufreq_matrix[n-2][l-2] =0;
}
}
}
Сдесь n изначально равна 2, и l =2. Эти две переменные будут расти до тех пор, пока l не будет равна 8. Как только l = 8, значение переменных больше не растет.
Далее формула расчета...
cpufreq_matrix[n-2][l-2] = ( 13*n*l /2 ) * 1000 ;
Как вы видите из n и l вычитается число 2. То есть реально они обе равны 6. При расчете получаем 468 мгц(старнно, да?) Далее, если значение cpufreq_matrix[n-2][l-2] > BLVD_MAX_FREQ(равна 520 мгц), то значение сбрасывается. Короче тут опять ограничение, но только до 520 мгц.

Еще, нам нужен человек, разбирающийся в ассемблере...

ЗЫ: Ребята подключайтесь. Одному очень сложно копаться... Чем больше людей этим займется, тем быстрее мы разгоним проц.

bad-rustamka, есть что нить новое???

Добавлено позже (10.4.2007, 14:25):
Только что наткнулся...

#define MAX_SWAPFILES 32

/*
* Magic header for a swap area. The first part of the union is
* what the swap magic looks like for the old (limited to 128MB)
* swap area format, the second part of the union adds - in the
* old reserved area - some extra information. Note that the first
* kilobyte is reserved for boot loader or disk label stuff...
*
* Having the magic at the end of the PAGE_SIZE makes detecting swap
* areas somewhat tricky on machines that support multiple page sizes.
* For 2.5 we'll probably want to move the magic to just beyond the
* bootbits...
*/


Короче, как я понял система использует макс 128 метров свопа, при этом свопит не более 32 файлов...
Поправьте, если ошибся.

Добавлено позже (10.4.2007, 14:33):
Наткнулся на сжатие фото/видео... Тоже можно подправить...


Добавлено позже (10.4.2007, 15:12):
Просыпаемся и засыпаем. файл bulverde_dpm.c
DPRINT("\n\nPrior to sleep, MDREFR=0x%08X\n\n", MDREFR);
device_suspend(0, SUSPEND_POWER_DOWN);

if(dpm_fscaler_flags & DPM_FSCALER_SLEEP) {
cpu_mode_set(CPUMODE_SLEEP);
}
else if(dpm_fscaler_flags & DPM_FSCALER_STANDBY){
cpu_mode_set(CPUMODE_STANDBY);
}
else if(dpm_fscaler_flags & DPM_FSCALER_DEEPSLEEP){
cpu_mode_set(CPUMODE_DEEPSLEEP);
}

/* Here when we wake up. */

/* Power on devices again */
device_resume(RESUME_POWER_ON);
DPRINT("\n\nAfter sleep, MDREFR=0x%08X\n\n", MDREFR);

Сообщение отредактировал uxobryux - 11.4.2007, 12:50
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4473
сообщение 10.4.2007, 16:37


Мастер
****

Группа: Пользователи
Сообщений: 266
Регистрация: 19.10.2005
Пользователь №: 55 068
Модель телефона: E398 > E1 > E2 > E6
Прошивка: >>>>>>>>>>>

Рейтинг: 8.5



Вам нужно побщатся с человеком под ником bOOster
Он давольно хорошо знаент архитектуру PXA270
Он утверждал что частота процесора выставлена в неком регистре PLL откуда она загружается при запуске или при каждом выходе процессора из сна
Причем содержимое регистра выставляется при помощи выводов процессора (грубо говоря перемычками между выводами)
Он еще кое что описывал но я уже не помню (хотя я мог и здесь вчем то ошибится ph34r.gif )
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
uxobryux
сообщение 11.4.2007, 12:37


Ветеран
*****

Группа: Пользователи
Сообщений: 356
Регистрация: 20.9.2005
Из: Мск
Пользователь №: 52 068
Модель телефона: Motorola RAZR XT910

Рейтинг: 77



Частота проца задается несколькими регистрами. PLL среди них нет. Его вообще в проце нет.
Частота процессора меняется не только при впадании в спячку и выходе из нее...
Часто используются режимы:SLEEPDEEP,SLEEP,STANDBY, RUN, IDLE, SENSE...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
4473
сообщение 11.4.2007, 18:24


Мастер
****

Группа: Пользователи
Сообщений: 266
Регистрация: 19.10.2005
Пользователь №: 55 068
Модель телефона: E398 > E1 > E2 > E6
Прошивка: >>>>>>>>>>>

Рейтинг: 8.5



Цитата(uxobryux @ 11.4.2007, 16:37) *

Частота проца задается несколькими регистрами. PLL среди них нет. Его вообще в проце нет.
Частота процессора меняется не только при впадании в спячку и выходе из нее...
Часто используются режимы:SLEEPDEEP,SLEEP,STANDBY, RUN, IDLE, SENSE...

Возможно я ошибся в обозначении
давно это было и тема кудато пропала
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
posse666
сообщение 13.4.2007, 11:55


Мастер
****

Группа: Пользователи
Сообщений: 158
Регистрация: 12.9.2005
Из: Обнинск
Пользователь №: 51 317
Модель телефона: E398=>E2=>XT720=>Defy
Прошивка: X=>X=>BlackRom3=>CM7

Рейтинг: 36



Да, к стати про развитие... сейчас уже вышла флэшка на 8 гигов! вот собственно о перспективах... Реально будет в планах сделать поддержку такого девайса, или это уже на урповне железа непойдёт?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lelvisl
сообщение 13.4.2007, 13:44


Ветеран
*****

Группа: Пользователи
Сообщений: 484
Регистрация: 14.1.2007
Пользователь №: 116 837
Модель телефона: Milestone & A1200

Рейтинг: 103.5



Как я понял, загрузчики у А1200 и у Е2 идеентичны. И при загрузке, он выбирает тип аппарата, и соответсвенно задаёт частоту. Я тут вспмнил, что на Е2 как то залили прошу от А1200, и она почти работала (нехватало поддержки тачскрина).Можно ли напрямую использовать часть исходников от А1200 для Е2 или нет?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 13.4.2007, 14:04


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



Цитата(lelvisl @ 13.4.2007, 16:44) *

Как я понял, загрузчики у А1200 и у Е2 идеентичны. И при загрузке, он выбирает тип аппарата, и соответсвенно задаёт частоту. Я тут вспмнил, что на Е2 как то залили прошу от А1200, и она почти работала (нехватало поддержки тачскрина).Можно ли напрямую использовать часть исходников от А1200 для Е2 или нет?

имхо можно
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lelvisl
сообщение 13.4.2007, 14:12


Ветеран
*****

Группа: Пользователи
Сообщений: 484
Регистрация: 14.1.2007
Пользователь №: 116 837
Модель телефона: Milestone & A1200

Рейтинг: 103.5



bad-rustamka, ща качаю исходники от А1200.
Кстати, я не вьехал, обьясните плз, как компилить из изходников прошу?(лин на компе есть)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 13.4.2007, 14:29


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



Цитата(lelvisl @ 13.4.2007, 17:12) *

bad-rustamka, ща качаю исходники от А1200.
Кстати, я не вьехал, обьясните плз, как компилить из изходников прошу?(лин на компе есть)

в файле .hhl_cross_compile прописывашь префикс компилятора(в моём случае arm-linux-) потом заходишь в директорию с сорцами и пишешь make. В процессе компиляции будет очень много вопросов со стороны скрипта компиляции. Есть ещё в папке с сорцами скрипт setup.sh, ему нужно только указать платформу, но у меня под цигвином ничего не скомпилилось, под линухом наверное должно получится
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
lelvisl
сообщение 13.4.2007, 14:41


Ветеран
*****

Группа: Пользователи
Сообщений: 484
Регистрация: 14.1.2007
Пользователь №: 116 837
Модель телефона: Milestone & A1200

Рейтинг: 103.5



bad-rustamka, понял кажись... ща после первых резалтов, попробую скомпилить.
Сорцы скачал, уже копаю. Кстати, офигенно удобно читать сорцы, если кому нада, через notepad ++.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
whitemoto
сообщение 13.4.2007, 17:45


Ветеран
*****

Группа: Разработчики
Сообщений: 553
Регистрация: 22.12.2005
Пользователь №: 63 052
Модель телефона: Motorola ROKR E2
Прошивка: pre

Рейтинг: 165.5



bad-rustamka,
через ezx-crosstool не выйдет скомпилять, надо официальный компилер собирать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
bad-rustamka
сообщение 13.4.2007, 18:39


Мастер
****

Группа: Пользователи
Сообщений: 225
Регистрация: 22.3.2005
Из: Самара
Пользователь №: 39 309
Модель телефона: photon
Прошивка: cm10

Рейтинг: 88



Цитата(whitemoto @ 13.4.2007, 20:45) *

bad-rustamka,
через ezx-crosstool не выйдет скомпилять, надо официальный компилер собирать

хм, спасибо за инфу... а откуда его можно стянуть?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
whitemoto
сообщение 13.4.2007, 19:01


Ветеран
*****

Группа: Разработчики
Сообщений: 553
Регистрация: 22.12.2005
Пользователь №: 63 052
Модель телефона: Motorola ROKR E2
Прошивка: pre

Рейтинг: 165.5



bad-rustamka,
ну opensource.motorola.com
сам буду качать разбираться
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Развитие платформы · Motorola ROKR E2, A910, A910i, E895 · Forum
 

4 страниц V  1 2 3 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16.6.2025, 14:38

Форум живёт: