Перейти к содержанию
    

Dimadze_SIE

Новичок
  • Постов

    4
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Dimadze_SIE

  • День рождения 06.07.1990

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. CFI

    Не нашёл где написать, напишу здесь, всё же у меня это всё на ARM процессоре Здравствуйте, хотелось бы кое-что понять в Common Flash Interface. Вот к примеру у меня FLASH Intel 0x0089:0x880D, мне надо узнать какой её полный размер. Да там есть Device Size, и он там равен 0x2000000 (2^0x19) но этот размер только одной банки, вот как узнать количество банок? Есть 2 флеш ид у них одинаковые (Intel 0x0089:0x880D), но в одной 1 банка в другой 2е. и как мне быть. как определять? ------ Вопрос номер 2, написал флеш ф-ии для Intel / ST / AMD, всё работает, но на флещ с ERASE блоком 0x40000 (ST: 0x0020:0x8819), не хочет писать, делает с ней всё что угодно, удаляет блоки, считывает ид, но писать абсолютно не хочет ...
  2. IAR и Heap Info

    Короче, имею компиялтор IAR 4.42 A Прописал HEAP в xcl файле Всё работает malloc/free и прочее, вопрос, как узнать сколько свободного хипа осталось, там разную информацию, максимальный фрагмент и прочее. Как узнать? Если вопрос тупой, сильно не бейте плиз)
  3. ARM926EJ-S

    То есть я пишу под телефон (Sie CX75 процеccор ARM926EJ-S), в нём уже есть прошивочные ф-ии (которые он использует для инициализации MMU) по этому поводу: (Вроде верно нашёл) MMU_enable 0000:A0B183A0 10 40 2D E9 STMFD SP!, {R4,LR} 0000:A0B183A4 E9 0A DC EB BL disable_INT 0000:A0B183A8 00 40 A0 E1 MOV R4, R0 0000:A0B183AC 53 0B DC EB BL getCP15_register_1 0000:A0B183B0 01 00 80 E3 ORR R0, R0, #1 0000:A0B183B4 54 0B DC EB BL setCP15_register_1 0000:A0B183B8 04 00 A0 E1 MOV R0, R4 0000:A0B183BC 10 40 BD E8 LDMFD SP!, {R4,LR} 0000:A0B183C0 EA 0A DC EA B enable_INT MMU_disable 0000:A0B183C4 10 40 2D E9 STMFD SP!, {R4,LR} 0000:A0B183C8 E0 0A DC EB BL disable_INT 0000:A0B183CC 00 40 A0 E1 MOV R4, R0 0000:A0B183D0 4A 0B DC EB BL getCP15_register_1 0000:A0B183D4 01 00 C0 E3 BIC R0, R0, #1 0000:A0B183D8 4B 0B DC EB BL setCP15_register_1 0000:A0B183DC 04 00 A0 E1 MOV R0, R4 0000:A0B183E0 10 40 BD E8 LDMFD SP!, {R4,LR} 0000:A0B183E4 E1 0A DC EA B enable_INT isMMUenable 0000:A0B183E8 08 40 2D E9 STMFD SP!, {R3,LR} 0000:A0B183EC 43 0B DC EB BL getCP15_register_1 0000:A0B183F0 01 00 10 E2 ANDS R0, R0, #1 0000:A0B183F4 01 00 A0 13 MOVNE R0, #1 0000:A0B183F8 08 80 BD E8 LDMFD SP!, {R3,PC} где: getCP15_register_1 0000:A021B100 00 00 A0 E3 MOV R0, #0 0000:A021B104 10 0F 11 EE MRC p15, 0, R0,c1,c0 0000:A021B108 1E FF 2F E1 BX LR setCP15_register_1 0000:A021B10C 10 0F 01 EE MCR p15, 0, R0,c1,c0 0000:A021B110 00 00 A0 E1 NOP 0000:A021B114 00 00 A0 E1 NOP 0000:A021B118 00 00 A0 E1 NOP 0000:A021B11C 1E FF 2F E1 BX LR disable_INT 0000:A021AF50 00 00 0F E1 MRS R0, CPSR 0000:A021AF54 C0 10 80 E3 ORR R1, R0, #0xC0 0000:A021AF58 1F 20 00 E2 AND R2, R0, #0x1F 0000:A021AF5C 10 00 52 E3 CMP R2, #0x10 0000:A021AF60 00 00 00 0F SWIEQ 0 0000:A021AF64 01 F0 21 E1 MSR CPSR_c, R1 0000:A021AF68 C0 00 00 E2 AND R0, R0, #0xC0 0000:A021AF6C 1E FF 2F E1 BX LR ; R0 = old CPSR.f and CPSR.i enable_INT 0000:A021AF70 00 10 0F E1 MRS R1, CPSR 0000:A021AF74 C0 10 C1 E3 BIC R1, R1, #0xC0 0000:A021AF78 00 10 81 E1 ORR R1, R1, R0 0000:A021AF7C 1F 20 01 E2 AND R2, R1, #0x1F 0000:A021AF80 10 00 52 E3 CMP R2, #0x10 0000:A021AF84 00 00 00 0F SWIEQ 0 0000:A021AF88 01 F0 21 E1 MSR CPSR_c, R1 0000:A021AF8C 1E FF 2F E1 BX LR И сам ARM Ассемблер знаю неплохо, но вот решил изучить сопроцессор и тут загвоздка. При вызове их получаю Undefined Instruction, в адресе соответсвующему команде MCR/MRC, слышал что это из-за того что может закрыт доступ к сопроцессорам, тогда как его снова открыть, этот доступ? В недоумении .... помогите ....
  4. ARM926EJ-S

    Помогите, проц ARM926EJ-S, никак не могу понять как пользоватся сопроцессорами, любое исполнение вызывает Undefined Instruction, кроме MRC p7, 0, r0, c7, c10, 3, остальные другие вариации, к примеру: MRC p15, 0, r0, c1, c0 дают исключение. Что надо включить или выключить чтобы всё работало? Хочу включать и выключать MMU (Таблица переадресации и все остальные дела есть, сама MMU инициализирована и включена)
×
×
  • Создать...