Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Задаем вопросы по теме "Создание патчей, для начинающих"


Рекомендуемые сообщения

Плохо то, что нет у меня в руках свифта :)

В общем так как самсунги с нуля ничего не делают, то подобие ваших меню было в х100 :)

 

Попробую провести паралели между сисоловским методом и свифтовским, надеюст свифтоводы прийдут и продолжат мой почин :)

 

Вот кусок создания меню по типу х700(я так думаю:) )

My_main_menu:
.mcc MCC_SET_CURLIST
My_main_menu_sub:
.mcc MCC_INIT_RESTORE   - подготовка окна
.mcc MCC_RELEASE_LIST
.mcc MCC_SET_LIST 0 0x0014 0x0080 0x005A  
.mcc MCC_TASK 0x10 0x80  - прорисовка меню
.mcc MCC_DISP_LIST - вывод меню

Блок работы с клавишами
       .mcc MCC_IF 0x9 0x1 0xE 0 	_start_main_menu_func		@Клавиша левая софт
.mcc MCC_IF 0x9 0x1 0x8 0 _start_main_menu_func		@Клавиша вызова
.mcc MCC_IF 0x9 0x1 0x12 0 _start_main_menu_func 	@Клавиша I (требуется X-tend Navigator)

_start_main_menu_func:
.mcc MCC_IF 0x12 0x15 0   0 переход на обработку п1
.mcc MCC_IF 0x12 0x15 0x1 0 переход на обработку п2
.mcc MCC_IF 0x12 0x15 0x2 0 переход на обработку п3

Сравниваем

dcm mcc_init_restore 0 0 0 0 0 0x1 - инициализация окна
dcm mcc_set_curmenu					- выставление курсора?
dcm mcc_menu_start 0 0x1 0x4100 0 0 0x30  - еще без понятия
dcm mcc_set_keyboard 0x3			- маска запроса клавиатуры?
dcm mcc_menu_config 0xA 0 0x4 0x1	- самая главная штука - текст ресурсы, возможно всплывающие подсказки, иконки
dcm mcc_display_menu 0xA 0 0 0x206 0 0x10  - -вывод меню
dcm mcc_menu_select 0 0 0 0 0x102B9F08		 -  равнозначно .mcc MCC_IF 0x12 0x15 0   0 адресс перехода 1(для х100)
dcm mcc_menu_select 0 0x1 0 0 0x115474EC	-  равнозначно .mcc MCC_IF 0x12 0x15 0   0 адресс перехода 2(для х100)
dcm mcc_menu_select 0 0x2 0 0 0x10C6009C   - равнозначно .mcc MCC_IF 0x12 0x15 0   0 адресс перехода 3(для х100)
dcm mcc_menu_select 0 0x3 0 0 0x103454AE  - равнозначно .mcc MCC_IF 0x12 0x15 0   0 адресс перехода 4(для х100)
dcm mcc_if 0x9 0x1 0xF 0 0x1073FEF0		   = кнопка отбоя
dcm mcc_elseif 0x9 0x1 0x2 0 0x1073FEF0	= кнопка возврата
dcm mcc_exit				  = выход

 

Т.е. меню формирует mcc_menu_config пар1 пар2 пар3 пар4 в свифтах, в х100(сисолах) это будет МСС_TASK пар1 пар2.

 

Теперь рассмотрим пример создания своего MCC_TASK для х100, думаю на х700 надо использовать мастер-патч, а именно создать MCC_MENU_CONFIG свой.

 

Как делается свой MCC_TASK в х100:

1) регистрация обработчика. для MCC_TASK 0x10(первый параметр неизменный для юзеровских тасков, установлен в ЕкстАпи) далее - номер именно вашего обработчики в таблице, допустим 0х80. Тогда регистрация будет выглядеть так:

.org __my0_5task_Table+0x80*4

DCD my0_5task_0080+1 ;обработчик для главного меню

 

Теперь нам нужно этот самый обработчик написать.

Как писал уже dimastyj, прорисовка меню идет в 3 этапа - Верхняя полоса, софт-кеи, пункты меню.

 

Начнем попорядку. Ниже - пример обработчика с комментариями.

Ах да, чуть не забыл. Нам нужны будут текст. ресурсы(названия меню). Если таких нет в прошивке - надо делать свои, но проще, конечно, тем более, что в меню у вас все пункты такие, что уже есть где-то в прошивке, использовать ресурсы из прошивки.

Используя бинЭдит(вкладка Языковые ресурсы), находим нужные нам строки, у каждой строки есть свой номер, пусть мы будем делать меню из 3х пунктов, находим три строки, к примеру, с номерами 0х411 0х422 0х433.

 

Теперь собственно обработчик, названия ф-ций могут немного отличатся для свифтов, может быть другая передача параметров(в других регистрах), но смысл остаётся тот же.

 

@Основное меню патча
.align 1
my0_5task_0080:
push {r0-r7,lr}
.equ Item_Num_Main_Menu_Fast 	#3
SUB SP, SP, #0xC


@Прорисовка заголовка
MOV R2, #0
MOV R1, #0
ldr r0,=0x0207					@номер строки, которую будем выводить в заголовке
BL	lk_get_text    				@{Lan_Res_ID}:Adress        - тут и ниже - передаваемые параметры(R0,R1,R2 и т.д.)
BL	Reg_Draw_Title				@{Title_Str_Adress, ?(0), ?(0)}

@Прорисовка софт-клавиш
/*
Ф-ция прорисовки софт-клавишь может (на х100 точно) выводить 3 софт-надписи, мы будем выводить только две
*/
MOV	R0, #0x4F					@строка Выбрать - для х100
BL	lk_get_sofk					@{SK_RES_ID}:Adress

MOV	R3, #0x11					@Иконка выход - для х100
MOV	R2, #0                                       ;тут могла бы быть строка названия правой софт
MOV	R1, #0                                      ;тут мог бы быть индекс иконки левой софт
STR	R1, [sP, #0]                              \
STR	R1, [sP, #0x4]                           три параметра центр софт клавиши, у нас все нули, не будем её выводить
STR	R1, [sP, #0x8]                          /
BL	Reg_Draw_Softkey			@{1_sk, IconTimerID_1_Sk, 2_sk, IconTimerID_2_Sk, [sP] - Midle_SK, [sP, #4] - IconTimerID_Midle_Sk, [sP, #8] - ?(0)}

;создание меню, тут определяем количество пунктов, а ниже будем к каждому пункту добавлять название.
LDR	R4, =DspList
MOV	R3, #0
MOV R2, #Item_Num_Main_Menu_Fast - количество пунктов
MOV	R1, #2
ADD R0, R4, #0
BL	CreateList 					@{DspList struct, Type, Num_of_items, 0}

;первый пункт меню
LDR R0, =0x411                           ;индекс строки для первого пункта
BL	lk_get_text
MOV R1, #0                                    ;номер пункта (0 - первый, 1- второй, и т.д.)
bl My_Add_Func						@{Str, num_item}

/*
Последующие два пункта - гляди пункт 1
*/
;второй пункт меню
LDR R0, =0x422
BL	lk_get_text
MOV R1, #1
bl My_Add_Func						@{Str, num_item}


;третий пункт меню
LDR R0, =0x433
BL	lk_get_text
MOV R1, #2
bl My_Add_Func						@{Str, num_item}


ADD SP, SP, #0xC
pop {r0-r7,pc}
.data

 

Вроде бы всё просто. Осталось рассмотреть только ф-цию My_Add_Func.

Мy_Add_Func:
push {r2, lr}
SUB SP, SP, #4
ADD R3, R0, #0
MOV	R0, #0
STR	R0, [sP]
MOV	R2, #2
ADD R0, R4, #0
BL	AddList						@AddList(Main){DspList struct, Num_of_item(from_0), Type(st 0x2), Lan_Res_Addr., [sp]=0}
ADD SP, SP, #4
pop {r2, pc}
.data

Описывать принцип передачи параметров для AddList не буду, так как тут, ИМХО, и будет главное различие х100 и х700 :)

 

Ждем свифтоводом, пусть меня поправят :), старался как мог.

Всё никак нет времени информацию всю обобщить и выложить на девелоперсах :)

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

  • Ответов 1,4 тыс
  • Создана
  • Последний ответ

Топ авторов темы

cr_az2,

Сидел разбирался, что-то понял, что-то пока не очень. Выходные будут, конкретно засяду разбираться.

 

Ещё не понятно вот это DspList, CreateList и AddList. У себя чего-то таких не нашёл, скорее всего называются по-другому.

Пожертвования отправлять сюда R256859050930

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

что-то пока не очень

Задавай вопросы, будем отвечать

DspList, CreateList и AddList

Толку от х100шных адрессов не будет, я думаю. Надеюсь, что dimastyj сможет нам помочь в нелегком деле поиска адрессов :)

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

DspList, CreateList и AddList

 

 

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

Наскоко я понял у F3n1X-E730,а благодаря SergeyL уже имеется достаточно полный sym-файл.Но чета в нем яне нашел таких имен,да и в оригинальном на D500BVDK8 есть тока DspList,видимо соотв функции имеют другие названия.

E730XEEH1sym.rar

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

Всем привет от Javera , пообщались мы с ним на тему меню в свифтах.

Что мы имеем:

mcc_lk_main_menu - главное меню телефона, ниже прилагаю подарок - файл с комментариями автора Тем Армагедона :(

Там просто и понятно показывается как достать нужные адресса, заодно и создание меню поглядите.

 

Отмечайте сходства и различия с тем кодом, что я ранее выкладывал - пригодится.

swift.rar

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

Ну вот, разбирайтесь :( Если что не понятно, конкретно по свифтам - пишите... ;) В принципе, если есть интерес, могу написать статью по созданию меню основного типа... 8)

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

dimastyj,

В принципе, если есть интерес

и ты еще спрашиваешь? Пиши конечно

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

всем здраствуйте.Выложитекто нибудь инструкцию по портировнию патчей.Хочу портировать птч с D500 на D900.Очень надо....Заранее спасибо

 

Сообщение от модератора cr_az2
Портирование патчей, для начинающих - http://OldPh.one/index.php?showtopic=19494 . С такими вопросами туда :arrow:

Жизнь - игра, задумка хреновая, но графика обалденная!

Делай, что должен - свершится, что суждено...

40ia7.jpg

Все патчи для Е830

Все патчи для D900

 

я бы себя переписал, но Бог не дает исходники...

Помогите кто чем может...

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

Начнём по порядку:

1) Выложите кто-нибудь дополненный sym файл от X700XEEK6. У меня некоторых функций нет, которые использовались в swift.asm. (Телефон у меня не Х700, а Е730 :127: . Файл нужен, чтобы сначала разобраться с Х700, а потом уже и на своём пробывать.)

 

cr_az2,

2) Всё про swift.asm: будет ли отличаться вот этот код

109F8B52:		BL	_lk_get_sofk
109F8B56:		ADD	R6, R0, #0
109F8B58:		MOV	R0, #0x4F
109F8B5A:		BL	_lk_get_sofk

от этого

109F8B52:		BL	lk_get_sofk
109F8B56:		ADD	R6, R0, #0
109F8B58:		MOV	R0, #0x4F
109F8B5A:		BL	lk_get_sofk

 

 

3) Всё там же: что значит вот этот переход и для чего он:

Переходим на CASE 0:
	loc_109F8B3C:; CASE 0x0000

 

4) cr_az2, ты несколькими постами выше написал такой кусок кода:

;первый пункт меню
LDR R0, =0x411
BL	lk_get_text
MOV R1, #0  
bl My_Add_Func

Есть ли аналогичный в swift.asm?

Пожертвования отправлять сюда R256859050930

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

F3n1X,

swift.asm - это только разбор стандартных меню с целью нахождения адрессов, также даёт понятие о принципах постороения.

 

по второму вопросу:

 

Феникс и _Феникс - это две разные метки. Но названия ф-ций схожи на х100 и х700, принцип работы схож.

Вечером отпишусь подробнее

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

доброе время суток,

 

я ищу функцию в прошивке D900XEFK2, где определяется цвет софт клавиш на рабочем столе и в меню.

 

дело в том, что в D900 есть две темы: черная и белая. Для белой цвет софт клавиш определяется в

 

GetMenuColor

 

но для черной гдето в другом месте.

 

может ктонибудь подскажет парочку функций где это может быть ?

Изменено пользователем Dimy4
Ссылка на комментарий
Поделиться на другие сайты

В принципе, если есть интерес, могу написать статью по созданию меню основного типа...

Для меня лично наибольшую трудность,вызывает не создание mcc,а непосредственно тумба,где идет отработка вызываемых функций.В каком месте отследить парамеры 3,4,... и т.д. например.

будет ли отличаться вот этот код

Полагаю,что в первом варианте компенсированный переход.А во втором переход в пределах досягаемости...Поправте меня.. :67:

cr_az2,dimastyj предлагаю уже перемещаться на девелоперс.ру :)

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

109F8B52:		BL	_lk_get_sofk
109F8B56:		ADD	R6, R0, #0
109F8B58:		MOV	R0, #0x4F
109F8B5A:		BL	_lk_get_sofk

от этого

109F8B52:		BL	lk_get_sofk
109F8B56:		ADD	R6, R0, #0
109F8B58:		MOV	R0, #0x4F
109F8B5A:		BL	lk_get_sofk

F3n1X, это получение текстового ресурса софт полосы, организовать его можно как угодно, главное смысл понимать.

 

3) Всё там же: что значит вот этот переход и для чего он:

Переходим на CASE 0:
	loc_109F8B3C:; CASE 0x0000

Это case переход, мы определяем где именно описывается нужное нам меню.

 

Постараюсь написать статью и там все объяснить, для свифтов именно. :)

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

Постараюсь написать статью и там все объяснить, для свифтов именно.

dimastyj, если несложно, может и к -=Мастер-патчу=- заодно документацию накатаешь?

Было б вообще супер! :)

Сделал дело, вымой тело...

Нужна помощь? Ждем на irc-канале #sgh

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

Как я понял - надо обратить внимание на:

1) создание своего кода используя мастерПатчи, ЕкстАпи

2) принципы раскопок в коде?

Я прав?

 

 

В каком месте отследить парамеры 3,4,... и т.д. например.

Для мсс всё довольно просто.

 

Например есть МСС - МСС_ПРИВЕТ_МАКО 0х10 0хА 0х1.

В бинЭдите откапываем на вкладке опции эту мсс, переходим на адресс её начала.

В регистре R0 у нас - адресс МСС, и поэтому к параметрам мы будем добираться по смещению.

Смотри код начала мсс

 

lk_HELLO_MAKO:

push {r3-r7,lr}

sub SP,SP,0xC

LDRB R1,[R0,#2] ; загрузка второго параметра МСС (0хА)

 

 

Далее может идти определённый код, его желательно разобрать, но часто проще сразу перейти по адрессу, указаному в CASЕ.

 

CASE работает так:

В бинЭдите

 

.case R0 Если_параметр_в_р0_несовпал_вообщее если_р0=0 если_р0=1 если_р0=2 если_р0=N

 

 

если_р0=0:

/*

пошел код

*/

так для каждого варианта.

Если несовпал - как правило выход из кейса/мсс

 

Как это выглядит в коде,

 

DCB 0xE1 ;B loc_0008CA12 при 0x0000 ;Переход по адресу 0x8C01E

DCB 0x03 ;B loc_0008BE62 при 0x0001 ;Переход по адресу 0x8BE62

DCB 0x1F ;B loc_0008BE9A при 0x0002 ;Переход по адресу 0x8BE9A

DCB 0xE0 ;B loc_0008CA12 при 0x0003 ;Переход по адресу 0x8C01C

DCB 0x03 ;B loc_0008BE62 при 0x0004

где 0x0000,0x0001 и т.д. - и есть второй/третий/четвертый параметры (надо поглядеть просто какой загружается чуть выше)

Что нам это даёт.

Например видим в коде МСС_ТАСК 0х11 0х60

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

 

Надеюсь на много-много вопросов, любых, которые вы хотите задать.

С меня - всё о ЕкстАпи.

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

Подскажите кто знает, как найти код качелки при закрытой крышке, тело X650.

SAMSUNG X600 => SAMSUNG E730 => SAMSUNG X650 => SAMSUNG E300 => SAMSUNG X100 => SAMSUNG X500 => SAMSUNG D720 =>NOKIA 5610=>NOKIA N95 8GB=> Samsung Galaxy Note

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

armagedon, а за что клавиши отвечают эти при закрытой крышке? При наличии сум-файла - самый просто способ смотреть код, который вызывается при нажатии, там,как правило, будет МСС_IF с кодом клавиш

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

cr_az2,С первыми двумя параметрами все понятно(адрес фукции и case).Повторюсь-непонятки с 3,4 и т.д. параметрами(ну если они есть).Например,для X700

1033ABC8 17 08 3C00 0100 0000 00000000 0000 0000 Выполнить 0x8 x2=60 x3=1 x4=0 x5=0 x6=0

Это MSS_TASK 08 и находится она по 0x10127F34, -case-переход,и попадаем сюда

		loc_101299D8: ; CASE 0x003C
101299D8:	A088	LDRH	R0, [R4, #4]
101299DA:	6E49	LDR	R1, =0x18458F40
101299DC:	0870	STRB	R0, [R1]
101299DE:	0CE4	B	loc_101291FA

Где мне отследить параметр x3=1 в тумбе(в case или непосредственно в коде еще до перехода)? :(

/ Чтобы боялись чужие, не обязательно бить своих.../
Ссылка на комментарий
Поделиться на другие сайты

01299D8: A088 LDRH R0, [R4, #4] - загрузка третьего параметра(старшего байта), именно твоей единицы :(

101299DA: 6E49 LDR R1, =0x18458F40 - что-то в оперативке, например, переменная, в которой храниться режим без звука :(

101299DC: 0870 STRB R0, [R1] - вот в этот параметр загружается единица :(

 

Вот и весь анализ :(

Если видишь LDRH R0, [R4, #4] LDRH R0, [R4, #2] LDRH R0, [R4, #6] и т.д. - очень много шансов, что это именно загружка параметров МСС. Как отследить? Просто отслеживай где указатель на МСС, при вызове был в R0 и глядя по коду проследить возможно.

Бывших SGH`овцев не бывает.

Глупый модератор применяет наказания для самоутверждения.

Умный - для поддержания порядка. Мудрый - не применяет вообще!

 

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

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

armagedon, а за что клавиши отвечают эти при закрытой крышке? При наличии сум-файла - самый просто способ смотреть код, который вызывается при нажатии, там,как правило, будет МСС_IF с кодом клавиш

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

SAMSUNG X600 => SAMSUNG E730 => SAMSUNG X650 => SAMSUNG E300 => SAMSUNG X100 => SAMSUNG X500 => SAMSUNG D720 =>NOKIA 5610=>NOKIA N95 8GB=> Samsung Galaxy Note

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

armagedon, как я понял ты хочешь использовать короткие нажатия... Не знаю как на Х650, но на Х100 подобных обработка качелек идет в функции lk1_3root_fsm.

 

На примере Х460....

loc_0008601E:	
LDR	R7, =FolderCloseId
LDRB	R0, [R7]
CMP	R0, #0x0
BNE	loc_00086042
LDR	R0, =0x00346809
BL	_RtkStopTimer
LDR	R1, =AnimationTimerId
MOV	R0, #0xFF
STRB	R0, [R1]
LDR	R0, =mcc_set_key_vol_up
ADR	R1, =0x860CC
BL	lk2_12start_menu_edit_fsm
LDR	R0, =gv_idle_inout
MOV	R6, #0x1
STRB	R6, [R0]
B	loc_00086052
loc_00086042:	
LDR 	R0, [R7, #0x40]
LDRB	R0, [R0, #0xC]
CMP	R0, #0x1; вот здесь если 0 то уходит на обработку короткого нажатия боковой при закрытой клавиши
BNE	loc_0008722E; соответственно здесь ничего и не делает... Нужно просто вклинится в это место и дальше
LDR	R0, =mcc_set_ext_backlight_on_c; уже на твою фантазию... Только при длительном нажатии будет срабатывать и короткое и длительное....
MOV	R1, #0x0
BL	lk2_12start_menu_edit_fsm
loc_00086052:	
B	loc_0008626C

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

Советую только то, в чем полностью уверен...

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

У меня такой вопрос к знатокам x700:

 

В прошивке есть таблица каталогов и файлов.

Происходит ли копирование этой таблицы во время работы в оперативку или EEPROM? Если да то в какую область?

 

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

 

Что скажут знатоки?

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

В прошивке есть таблица каталогов и файлов.

Происходит ли копирование этой таблицы во время работы в оперативку или EEPROM? Если да то в какую область?

Зачем копировать? TFS4FsDirs - таблица указателей на каталоги и файлы, к ней и идет обращение.

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

  • 2 недели спустя...
  • 1 месяц спустя...

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

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

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти



×
×
  • Создать...