miodzaki 0 22 марта, 2012 Опубликовано 22 марта, 2012 · Жалоба В общем у меня такая ситуация: есть плата ezdsp TMS320f28335, эмулятор SAU510-usb isoplus, CCSv5, далеко не идеальное знание англйского языка и мало времени. Я написал програмку которая через прерывания на gpio разные сигналы посылает, запустить я ее пока что могу через дебаг в CCS. Вопрос в том как записать эту программу на флэш и потом ее оттуда запустить ? Могу ли я просто готовый .out файл засандалить в флэш с помощью sausvf или sdflash и затем переключив загрузку флэш запустить программу просто подав питание на плату, или для этого необходимо произвести какие-то дополнительные с самой программой. В обшем прошу помочь разобраться в том, что мне нужно сделать, для запуска своей программы не через CCS а на самом контроллере. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KSergeyP 0 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба В общем у меня такая ситуация: есть плата ezdsp TMS320f28335, эмулятор SAU510-usb isoplus, CCSv5, далеко не идеальное знание англйского языка и мало времени. Я написал програмку которая через прерывания на gpio разные сигналы посылает, запустить я ее пока что могу через дебаг в CCS. Вопрос в том как записать эту программу на флэш и потом ее оттуда запустить ? Могу ли я просто готовый .out файл засандалить в флэш с помощью sausvf или sdflash и затем переключив загрузку флэш запустить программу просто подав питание на плату, или для этого необходимо произвести какие-то дополнительные с самой программой. В обшем прошу помочь разобраться в том, что мне нужно сделать, для запуска своей программы не через CCS а на самом контроллере. Для того чтобы загрузить программу во флэш использую F28xx On-Chip Flash Programmer встроенный в CCS (у меня CCS 3.3). При этом в проекте в cmd файле должно быть указано что в какую область загружать. В примерах есть cmd для загрузки и выполнения программы в ОЗУ(после снятия питания естественно все слетает) и для Flash. Вам соответственно нужен файл для Flash. Никаких доп. действий предпринимать не нужно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
miodzaki 0 23 марта, 2012 Опубликовано 23 марта, 2012 · Жалоба Для того чтобы загрузить программу во флэш использую F28xx On-Chip Flash Programmer встроенный в CCS (у меня CCS 3.3). При этом в проекте в cmd файле должно быть указано что в какую область загружать. В примерах есть cmd для загрузки и выполнения программы в ОЗУ(после снятия питания естественно все слетает) и для Flash. Вам соответственно нужен файл для Flash. Никаких доп. действий предпринимать не нужно. У меня пятый CCS ничего похожего на " On-Chip Flash Programmer" я в нем увы не нашел :(, возможно правда в нем нет необходимости его функции могут выполняться автоматически при запуске дебагера. По поводу cmd файла я заменил F28335_RAM_lnk.cmd файлом F28335.cmd после чего, при нажати на дебаг, увидел довольно долгую очистку флеш памяти и следом заливку моей программы ( вродебы). Опять же программа успешно работает под управлением CCS, однако, при переключении на загрузку с флеш, запуска программы не произошло :(. Посоветуйте плиз, что делать :) друзья советуют купить ящик жидкости для протирки контактов, но это врядли поможет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 24 марта, 2012 Опубликовано 24 марта, 2012 · Жалоба Сконфигурите bootpin-ы на загрузку из флеш. + - возможно, что необходимо чтобы точка входа в _c_int00 находилась по определённому адресу флеш (например в F28M35H52 это адрес 0x20004FF8 - после сброса запускается код в ROM, который по состоянию bootpin-ов определяет как грузиться и если стоит "флеш", переходит на этот адрес). Читайте даташит, секцию о загрузке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
miodzaki 0 26 марта, 2012 Опубликовано 26 марта, 2012 · Жалоба Сконфигурите bootpin-ы на загрузку из флеш. + - возможно, что необходимо чтобы точка входа в _c_int00 находилась по определённому адресу флеш (например в F28M35H52 это адрес 0x20004FF8 - после сброса запускается код в ROM, который по состоянию bootpin-ов определяет как грузиться и если стоит "флеш", переходит на этот адрес). Читайте даташит, секцию о загрузке. Да я вроде бы все правильно делаю. Ну по крайней мере джамперы в положение загрузка с флеш переключаю, в cmd файлике : MEMORY { PAGE 0: BEGIN : origin = 0x33FFF6, length = 0x000002 и SECTIONS { codestart : > BEGIN PAGE = 0 Вроде как все по феншую, но не запускается зараза :( ( при загрузке SPI-A и запуске дебагера работает на ура) Может еще есть какие идеи у кого ? Я все никак не могу понять, что я делаю неправильно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 26 марта, 2012 Опубликовано 26 марта, 2012 · Жалоба Проверьте что Ваш код записался во флеш (под отладчиком посмотрите область флеш). Потом можно поставить бряк на точку входа в программу и стартануть проц со стартового адреса включения питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
miodzaki 0 29 марта, 2012 Опубликовано 29 марта, 2012 · Жалоба Не понял я ни что такое бряк на точку входа, ни как стартануть со стартового адреса :( Однако программа всетаки запустилась но не при выставлении boot to flash, а при выборе "Branch to check boot mode". Может ктонить обьяснить почему Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 231 29 марта, 2012 Опубликовано 29 марта, 2012 · Жалоба Поставьте брэкпоинт на точку входа, посмотрите в даташите на проц с какого адреса он стартует по включению питания, выставите PC на этот адрес и запустите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
miodzaki 0 30 марта, 2012 Опубликовано 30 марта, 2012 · Жалоба Я просто все не правильно понял у меня в cmd файлике была следующая часть кода: ramfuncs : LOAD = FLASHD, RUN = RAML0, LOAD_START(_RamfuncsLoadStart), LOAD_END(_RamfuncsLoadEnd), RUN_START(_RamfuncsRunStart), PAGE = 0 которая вроде как при включении загружает все мои функции в saram ну и соответственно загрузку надо было ставить на saram а для того чтобы работала загрузка с флэш надо было мои функции в этом самом флэш и оставить : ramfuncs : > FLASHD PAGE = 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться