P2Kapi, Вопросы |
Здравствуйте, гость ( Вход | Регистрация ) |
P2Kapi, Вопросы |
Osta |
21.6.2008, 5:33
|
Freestyler Группа: Легенды MotoFan.Ru Сообщений: 10 329 Регистрация: 20.7.2004 Пользователь №: 8 235 Модель телефона: Moto Прошивка: *#9999# Настроение: Все невыспавшиеся в следующей жизни будут котами Рейтинг: 4362 |
|
DmT |
21.6.2008, 6:00
|
Мото-Портной Группа: Разработчики Сообщений: 1 174 Регистрация: 31.3.2007 Из: Екатеринбург Пользователь №: 129 181 Модель телефона: LG GW620, L7e и др. Настроение: Второй год подряд решаю мир. Решения не найдено. Рейтинг: 669 |
VlzRu,
держи две функции для стирания/прошивания, пока беды не случилось: Код procedure TForm1.Erase; var Size: Cardinal; OutData:array[0..1023] of Char; Res:Cardinal; StartTime,PointTime:Cardinal; begin StartTime:=GetTickCount; Label1.Caption:='Erasing flash memory'; Label1.Update; Size:=SizeOf(OutData); ProgBar.Max:=1000; Res:=Flash_SendCmd('ERASE',nil,0,OutData,Size,100); while Res<>0 do begin PointTime:=(GetTickCount-StartTime) mod 2000; if PointTime>=1000 then PointTime:=2000-PointTime; ProgBar.Position:=PointTime; Size:=SizeOf(OutData); Res:=Flash_ReadData(OutData,Size,20); Application.ProcessMessages; end; end; function TForm1.Flash(FName: string; Base: Cardinal):integer; var F:file of Byte; FSize,Size:Cardinal; FlashAddr,FlashOff:Cardinal; InData:array[0..$ff] of Byte; begin result:=0; Label1.Caption:='Flashing Phone'; Label1.Update; ProgBar.Position:=0; AssignFile(F,FName); Reset(F); FlashAddr:=Base; FlashOff:=0; FSize:=FileSize(F); ProgBar.Max:=FSize; repeat BlockRead(F,InData,$100,Size); result:=result+Flash_Addr(FlashAddr); result:=result+Flash_Bin(InData,Size); Inc(FlashAddr,$100); Inc(FlashOff,$100); ProgBar.Position:=FlashOff; Application.ProcessMessages; until FlashOff>=FSize; end; |
n0wheremany |
21.6.2008, 7:26
|
Прогр@ммер Группа: Почётные мотофаны Сообщений: 564 Регистрация: 10.9.2005 Пользователь №: 51 111 Модель телефона: E398 Рейтинг: 341 |
Osta
Верно конечно... Но будет как у меня более 1,5 года лежащий 398 с пробитой флэшкой... Благо умный человек позаботился )) Цитата procedure TForm1.Erase; Надо читать ответ, а не просто возможные байты... ибо ERR тоже ответ. И весьма плохой. Зы DmT, разве у тебя Flash_ReadData не стопорит прогу? до ответа? |
motoprogger |
22.6.2008, 7:53
|
Гуру Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 490 |
n0wheremany,
У Flash_ReadData (и Flash_WriteData) последний параметр - таймаут в миллисекундах. И у Flash_SendCmd, кстати, тоже |
VlzRu |
22.6.2008, 13:45
|
Новичок Группа: Пользователи Сообщений: 5 Регистрация: 19.6.2008 Пользователь №: 175 279 Модель телефона: V/E/* Рейтинг: 0 |
Огромное спасибо n0wheremany и DmT ! Теперь я все понял.
|
VlzRu |
25.6.2008, 15:38
|
Новичок Группа: Пользователи Сообщений: 5 Регистрация: 19.6.2008 Пользователь №: 175 279 Модель телефона: V/E/* Рейтинг: 0 |
Хотя нет... не все :-)
Что, в теории, делает команда JUMP? судя по https://forum.motofan.ru/index.php?showforum=143 Flash&backup'у отправлять ее нужно после засылки лоадера, или это зависит от чего-то? На какой адрес нужно прыгать? На адрес, в котором начинается лоадер? (JUMP для Motorola == JMP для asm) ? |
motoprogger |
25.6.2008, 19:47
|
Гуру Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 490 |
VlzRu,
Для телефонов на платформе LTE нужно: Добавлено позже (26.6.2008, 2:49): VlzRu, Для телефонов на платформе LTE нужно: 1) Записать лоадер по адресу 0x03fd0000 2) JUMP на 0x03fd0010 3) Если намерен что-то прошивать - стирание памяти (адреса вбиваются в лоадер) 4) Прошивание/чтение (для чтения лоадер должен это поддерживать) 5) Опционально выключение или перезапуск телефона |
DmT |
26.6.2008, 4:13
|
Мото-Портной Группа: Разработчики Сообщений: 1 174 Регистрация: 31.3.2007 Из: Екатеринбург Пользователь №: 129 181 Модель телефона: LG GW620, L7e и др. Настроение: Второй год подряд решаю мир. Решения не найдено. Рейтинг: 669 |
|
motoprogger |
26.6.2008, 13:08
|
Гуру Группа: Разработчики Сообщений: 1 327 Регистрация: 20.7.2006 Из: Г. Омск Пользователь №: 92 049 Модель телефона: C380 и Talkabout Прошивка: разные Рейтинг: 490 |
|
david768 |
21.10.2009, 8:07
|
Новичок Группа: Начинающие Сообщений: 1 Регистрация: 21.10.2009 Пользователь №: 208 402 Модель телефона: E398 Рейтинг: 0 |
Я чайник...Как установить скины???
|
Текстовая версия | Сейчас: 26.4.2024, 18:24 |
Форум живёт: