Quel est le language utilisé dans ce fichier source

Bonjour,

Je cherche à comprendre comment fonctionne un lecteur MP4 que j’ai acheter récemment, le fabricant de la plateforme à réussi avec a priori le même proc et les mêmes composants, à sortir deux modèles différents du lecteur.

Un embarque un genre de linux embarqué sous forme de Firmware.
L’autre Android.

Un fichier Boot.bin initialise le lecteur au démarrage, il semblerait que entre la version Firmware et la version android, il soit différent.

J’ai trouver le code code source de la version Firmware, dans le kit de dev fourni par le fabricant, et dans les fichiers à compiler prévu pour le cpu il y a des fichiers avec une extension .s .

Qu’est ce que c’est comme language? un langage ARM ?


/********************************************************************************************************
;IRQ ´¦Àíº¯Êý
;080221,huangsl,RGB ÆÁµÄ ÏÔʾÐèÒª²úÉúÖжÏ.
;********************************************************************************************************/
		IMPORT 	IrqCHandler               	;IRQ CÓïÑÔÖжϴ¦Àíº¯Êý
		
SetupIrqIsr
		SUB     LR, LR, #4          	;¼ÆËã·µ»ØµØÖ·
		STMFD   SP!, {R0-R3,r12,LR}
		MOV			LR,PC
		LDR			PC,IRQ_CHANDLE
		LDMFD   SP!, {R0-R3,r12,PC}^

IRQ_CHANDLE            DCD     IrqCHandler  
;/********************************************************************************************************
;** RESET  ¸´Î»Èë¿Ú
;071015,huangsl,Ö±½ÓÌøµ½ C Èë¿Ú¼´¿É.
;********************************************************************************************************/
ResetHandler
		LDR	SL , =gSetupStack
		ldr	sp , =gSetupStackBotton
;/********************************************************************************************************	
		IMPORT  main    
    ldr	pc, __main     				; Jump to the entry point of C program Ìø×ªµ½cÓïÑÔÈë¿Ú	
    
__main  	DCD  main

OSDisableInt 
				MRS r0, cpsr 				;ÓÉÓÚÈÎÎñºÍÄں˶¼ÔËÐÐÔÚsvcģʽÏ£¬Òò´Ë¿É·½±ãµØ²Ù×÷cpsr 
			;	STMFD sp!, {r0} 		; ±£´æµ±Ç°µÄcpsr 
				ORR r1, r0, #0xc0 		;ÆÁ±ÎFIQ£¬IRQÖÐ¶Ï 
				MSR cpsr_c, r1 			;»ØÐ´cpsr£¬Ö»ÆÁ±ÎIRQÖÐ¶Ï 
				MOV pc, lr 					;·µ»Ø 
	
	
OSEnableInt 								;±ØÐëºÍ OSDisableInt ³É¶ÔʹÓà 
			;	LDMFD sp!, {r0} 		;µ¯³öÔÚ OSDisableInt Öб»±£´æµÄcpsr 
				MRS r0, cpsr	
				BIC r0, r0, #0x80		;¿ªÖжÏ.
				MSR cpsr_c, r0 			;»Ö¸´¹ØÖжÏǰµÄcpsr 
				MOV pc, lr 					;·µ»Ø     
				

    END
;/*********************************************************************************************************
;**                            End Of File
;********************************************************************************************************/

Merci à vous

C’est de l’assembleur. En connaissant le processeur on pourrait connaître quel assembleur exactement (ou alors un autre membre qui connait mieux les différents assembleurs pourras mieux t’aider).

Assembleur ARM.

:041 :041 merci!! tu pourrais m’indiquer un site ou forum qui traite particulièrement de ça. je recherche aussi un équivalent à Ida, j’ai utilisé la version gratuite mais elle n’a pas les dernières instructions arm à ce que j’ai compris.

Je vais expliquer un peu plus mon schmmilblick…
C’est une liseuse avec écran C-Paper (tft basse conso)


Le processeur est un ARM926EJC + DSP, mais il fonctionne comme les processeur de la génération précédente.

La version précédente c’est le ARM7EJ-S et le firmware de mon lecteur ressemble à celui qui est fourni avec les appareil utilisant cet ARM7EJ-S.
J’ai aussi remarquer que les applications étaient les mêmes.
Sauf que les outils prévus pour faire les mise à jour du ARM7EJ-s sont incompatibles avec mon lecteur.

J’utilise ceux prévu pour le ARM926EJC + DSP, alors en y regardant de plus près j’ai remarquer que mon lecteur avait un fichier de boot spécifique.

Après avoir éplucher pas mal de firmwares sur le net, je me rends compte que tous les modèles ARM7EJ-S utilise le même fichier de boot rk27boot.bin, et que tous les modèles ARM926EJC + DSP avec une ref commençant par Rk28 utilise le même fichier de boot rk28boot.bin.

Il n’y a que le mien qui dispose de son propre fichier de boot le rk2729boot.bin , je finis donc par conclure que si il est bridé c’est par ce moyen la…

Le but c’est de pouvoir utiliser un noyau linux sur cette machine , et le boot des séries RK28 le permet. Le hic c’est que une première tentative m’a briqué l’appareil.
Donc je dois décortiquer ces fichiers de boot pour les adapter d’une façon ou d’une autre.

Voilà pour la petite histoire

Tu pourrais nous dire quel est le produit exactement ?

A la limite n’est il pas possible d’utilisé le bios de la version que tu vise directement sur ta machine ?

J’ai déjà tester mais sans succès . Vu que ce bootloader initialise le matos, la ram etc… je pense que je dois le modifier.
J’ai trouver pas mal de ressources sur armlinux, j’ai mes spécifications matérielles…et j’ai vu d’autres projets linux sur kindle et autres E-reader …

C’est une machine de ce type là.

http://www.blogeee.net/2010/09/jwd-pmp-7100-une-liseuse-avec-ecran-c-paper/

Quelqu’un pour un fork Ida…?

Sous Windows j’utilise l’excellentissime Ollydbg, même s’il n’est pas conçu de la même manière qu’Ida. Il plante beaucoup moins et est bien mieux conçu à mon goût, et carrément plus intuitif et facile à prendre en main.

Sous Linux je ne m’y suis jamais collé pour l’instant, donc rien à te proposer.

Sous Windows j’utilise l’excellentissime Ollydbg, même s’il n’est pas conçu de la même manière qu’Ida. Il plante beaucoup moins et est bien mieux conçu à mon goût, et carrément plus intuitif et facile à prendre en main.

Sous Linux je ne m’y suis jamais collé pour l’instant, donc rien à te proposer.[/quote]

merci pour l’info, je l’avais déjà découvert, c vrai que c’est plus simple qu’Ida.

Et OllyDbg est un logiciel libre !! Contrairement à Ida.