From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29721 invoked by alias); 23 Jun 2012 16:39:20 -0000 Received: (qmail 29397 invoked by uid 22791); 23 Jun 2012 16:39:18 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 23 Jun 2012 16:39:04 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id 678D62FF0007 for ; Sat, 23 Jun 2012 17:39:03 +0100 (BST) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vjXp+ZUfv6eK; Sat, 23 Jun 2012 17:39:01 +0100 (BST) From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-patches@ecos.sourceware.org Subject: [Bug 1001561] Internal flash driver for Freescale TWR-K60N512 board X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: Patches and contributions X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: ilijak@siva.com.mk X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: ilijak@siva.com.mk X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Sat, 23 Jun 2012 16:39:00 -0000 Message-Id: <20120623163901.AC8B02F78004@mail.ecoscentric.com> Mailing-List: contact ecos-patches-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-patches-owner@ecos.sourceware.org X-SW-Source: 2012-06/txt/msg00016.txt.bz2 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001561 --- Comment #24 from Ilija Kocho 2012-06-23 17:38:52 BST --- (In reply to comment #23) > (In reply to comment #21) > > Hi Nicolas > > > > I'm sorry for late reply, but I was busy. I tried to disable keeping Redboot > > configuration data in FLASH bit it still raises exception. Can you post your > > ECM file? > > No problem. I posted a working for me configuration. I hope this works for you > as well. Thanks. I did some testing. > > > > > (In reply to comment #20) > > > Hi Ilija, > > > > > > I have made some tests and in order for the driver to work, I desactivated the > > > "Redboot FIS support" (in Redboot ROM monitor -> Allow RedBoot tu support FLASH > > > programming) and desactivated the "Keep Redboot configuration data in flash" > > > option. > > > When this options are enabled, Redboot try to read a portion of flash (with a > > > memcpy) which leads to a problem. > > The end address in CYG_FLASH_DRIVER is 1 byte too high and it triggers exception when you FIS directory and fconfig are at end of the FLASH. It should be (CYGMEM_REGION_flash + CYGMEM_REGION_flash_SIZE - 1) Also I think that for the time being we should protect Redboot from overwriting itself (and prevent writing to FLASH security area (0x400..0x40f). Note this can be the reason for your system freeze when you put FIS directory at beginning of FLASH. Something like this: #define REDBOOT_IMAGE_SIZE CYGBLD_REDBOOT_MIN_IMAGE_SIZE cyg_kinetis_flash_dev hal_kinetis_flash_priv; static const cyg_flash_block_info_t cyg_flash_kinetis_block_info[1] = { { KINETIS_FLASH_BLOCK_SIZE, (CYGMEM_REGION_flash_SIZE - REDBOOT_IMAGE_SIZE)/ KINETIS_FLASH_BLOCK_SIZE }}; CYG_FLASH_DRIVER(hal_kinetis_flash, &cyg_kinetis_flash_funs, 0, CYGMEM_REGION_flash + REDBOOT_IMAGE_SIZE, (CYGMEM_REGION_flash + CYGMEM_REGION_flash_SIZE - 1), 1, //number of block info cyg_flash_kinetis_block_info, &hal_kinetis_flash_priv); With this configuration it works with default configuration. But I have tried fconfig -i and fis init and it fails to write. Here is the "fconfig -i" minicom output: RedBoot> fconfig -i Initialize non-volatile configuration - continue (y/n)? y Run script at boot: false Use BOOTP for network configuration: false Gateway IP address: 192.168.209.1 Local IP address: 192.168.209.77 Local IP address mask: 255.255.255.0 Default server IP address: 192.168.209.7 Console baud rate: 38400 GDB connection port: 9000 Force console for special debug messages: false Network debug at boot time: false Update RedBoot non-volatile configuration - continue (y/n)? y ... Erase from 0x0007e000-0x0007efff: .. ... Program from 0x2000d800-0x2000e800 to 0x0007e000: V Error writing config data at 0x0007e000: Data verify failed after operation > > I found out something about that : it seems to come from th "Flash block > containing the directory" option which has the value "-1". This value should > correspond to the last block of flash but when I put the value to 2, I get a > prompt and the fis command (even if it still crash when I do a fis init). > > > > > > > > > I also try to move the CYG_FLASH_DRIVER into a new kinetis_flash.c file and add > > > it to the file to be compile in the .cdl file. Redboot builds fine with it but > > > when I launch it, it seems that there is no flash init done. I'll keep working > > > on that but if you have any idea of what I am missing ... > > > > Probably the object file containing CYG_FLASH_DRIVER has been discarded by the > > linker since effectively there aren't references to it. > > If the driver is general for all Kinetis devices you can leave it in > > kinetis_misc.c or put it in kinetis_flash.inl and include in kinetis_misc.c. > > Otherwise you can put copies in platforms (see STM32 for example). However > > driver inclusion for compilation should be conditional with some #ifdef. > > So I let it where it is for the moment. Thanks For the time being you could leave it, but for the permanent > > > > > Ilija -- Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.