-
- А зачем работать с "известными" адресами? Работайте с именами переменных. Vladimir Ljaschko(51 знак., 21.08.2009 23:02)
- Вообще-то ругается у вас совсем на другую переменную (на dVp, а не на var). А по самому вопросу непонятен источник проблемы. Вы свой собственный отладчик пытаетесь реализовать? - rezident(21.08.2009 19:47)
- Да нет. Допустим есть у меня несколько переменных, которые мне нужно считывать или записывать по UART. Если я знаю их адреса, то любую переменную могу передавать по адресу. Т.е. по UART посылаю запрос на чтение переменной, в котором указываю адрес и Lonsik(365 знак., 24.08.2009 10:05)
- вот до чего доводит людей фон-Неймановская архитектура :> - Snaky(24.08.2009 10:26)
- При чем тут архитектура? Это побочный эффект смеси энтузиазма и отсутствия образования. - Vladimir Ljaschko(24.08.2009 11:03)
- слишком тонкий был сарказм... не все поняли... :> - Snaky(24.08.2009 11:08)
- Так объясните, как организовать всё правильно? - Lonsik(24.08.2009 11:13)
- вы сначала ответьте на вопрос rezident-а: вы собственный отладчик делаете или просто надо передавать/читать параметры в рабочую программу, которая на их основе что-то полезное делает? - Snaky(24.08.2009 11:22)
- Просто передавать читать параметры. Свой отладчик не делаю ) - Lonsik(24.08.2009 11:32)
- Дык сделайте таблицу: 1 столбец - сетевой адрес переменной, 2 столбец - физический адрес переменной и вам с точки зрения сетевого обмена будет "по-барабану", где именно в адресном пространстве расположена переменная. - rezident(24.08.2009 14:45 - 15:39)
- Можно сделать еще и третий столбец - размер переменной в байтах. И при желании даже четвертый столбец - тип переменной, а если совсем по фен-шую, еще и пятый столбец - текстовое имя или описание переменной. - rezident(24.08.2009 15:41)
- Спасибо, примерно что то подобное и делаю ) - Lonsik(26.08.2009 13:32)
- Можно сделать еще и третий столбец - размер переменной в байтах. И при желании даже четвертый столбец - тип переменной, а если совсем по фен-шую, еще и пятый столбец - текстовое имя или описание переменной. - rezident(24.08.2009 15:41)
- правильно присваивать переменным полученные по UART значения и записывать в буфер UART значения переменных когда хочется из МК передать "наверх" Snaky(317 знак., 24.08.2009 11:48)
- Причём тут протокол обмена. Понятно что протокол надо использовать и не важно будь это стандартный или свой. В любом случае нужно передавать адрес переменной, а адрес это обычное число 8 или 16 разрядное. И как мне соотнести просто число с допутим Lonsik(285 знак., 24.08.2009 12:40)
- Разделите задачу на две части: передача по UARTу и форматирование данных. Такое разделение естественно и безопасно. "Форматтер" имеет на входе идентификатор переменной и тип операции. Его задачей является заполнение/считывание рабочего буфера UARTа. teap0t(165 знак., 24.08.2009 14:04)
- Ну так понятно, что UART передаёт буфер. Я не про UART спрашиваю, а как можно управлять расположением данных в RAM, кроме как используя __no_init? - Lonsik(24.08.2009 14:21)
- странный вы товарищ. вам столько людей говорит как не наступить на грабли, а вы говорите: "нет, вы таки объясните как мне убедить компилятор чтобы он мне разрешил на эти грабли прыгнуть с разбегу" :>>>> - Snaky(24.08.2009 16:14)
- Я ни с кем не спорю, я просто хочу разобратся и сделать так как будет более оптимально. - Lonsik(24.08.2009 16:26)
- Линкер в IAR имеет возможности назначения адресов и расположения кода в соответствии с вашими запросами (любыми). Ихние программисты считают, что расположение переменных в памяти следует отделять от манипулирования этими переменными. - teap0t(24.08.2009 14:33)
- Спасибо, теперь буду знать. - Lonsik(24.08.2009 16:25)
- странный вы товарищ. вам столько людей говорит как не наступить на грабли, а вы говорите: "нет, вы таки объясните как мне убедить компилятор чтобы он мне разрешил на эти грабли прыгнуть с разбегу" :>>>> - Snaky(24.08.2009 16:14)
- Ну так понятно, что UART передаёт буфер. Я не про UART спрашиваю, а как можно управлять расположением данных в RAM, кроме как используя __no_init? - Lonsik(24.08.2009 14:21)
- делать так это всё равно что на конверте ручкой написать GPS-координаты почтового ящика в который надо доставить письмо. - Snaky[mobile](24.08.2009 13:51, )
- Не делайте так. Передавайте идентификатор передаваемых данных, потом его проверяйте. Не передавайте физические адреса. Никогда. - =AlexD=(24.08.2009 13:25)
- А почему нельзя передавать физический адрес? Lonsik(153 знак., 24.08.2009 14:24)
- ну уж если очень хочется, то сделайте хотя бы так: Snaky(515 знак., 24.08.2009 14:56)
- Ну да согласен так более корректно. Спасибо. Lonsik(50 знак., 24.08.2009 15:02)
- остаточная кривизна предложенного метода в следующем: Snaky(1032 знак., 24.08.2009 15:28)
- Кто запрещает считать CRC пакета и добавлять в конец. А потом проверять в начале процедуры декодирования пакета. Lonsik(404 знак., 24.08.2009 15:52)
- ...а потом выяснится что байты во флоат надо складывать не в том порядке :> - Snaky(24.08.2009 16:02)
- Не выяснится, а если и выяснится то в процессе отладки. - Lonsik(24.08.2009 16:04)
- ...а потом выяснится что байты во флоат надо складывать не в том порядке :> - Snaky(24.08.2009 16:02)
- Кто запрещает считать CRC пакета и добавлять в конец. А потом проверять в начале процедуры декодирования пакета. Lonsik(404 знак., 24.08.2009 15:52)
- остаточная кривизна предложенного метода в следующем: Snaky(1032 знак., 24.08.2009 15:28)
- Ну да согласен так более корректно. Спасибо. Lonsik(50 знак., 24.08.2009 15:02)
- Ну почему нельзя... можно. Никто не вправе запретить вам хождение по граблям и стрельбу себе по ногам из верёвки. Вот своему ребёнку, я могу запретить совать пальцы в дверную щель. А Вам - только посоветовать этого не делать. - =AlexD=(24.08.2009 14:38)
- Ну понятно. Просто все пишут так не делай, делай так, и никто не пишет почему. - Lonsik(24.08.2009 15:01)
- <занудливо> в случае простой ошибки в управляющей программе Вы запишете по произвольному адресу ОЗУ некорректные данные, из-за чего программа сойдёт с ума, Терминатор выйдет из под контроля и свернёт башку своему создателю и всем, до кого сможет =AlexD=(38 знак., 24.08.2009 15:27)
- По умолчанию предполагается, что человек, задающий вопрос на форуме, уже попытался найти ответ самостоятельно. Незнание ответа на это "почему" означает, что вы не читали никаких книг по данному вопросу, а сразу начали отвлекать посторонних людей teap0t(100 знак., 24.08.2009 15:12)
- Ясно, больше не буду отвлекать посторонних людей. - Lonsik(24.08.2009 16:03)
- Ну понятно. Просто все пишут так не делай, делай так, и никто не пишет почему. - Lonsik(24.08.2009 15:01)
- ну уж если очень хочется, то сделайте хотя бы так: Snaky(515 знак., 24.08.2009 14:56)
- А почему нельзя передавать физический адрес? Lonsik(153 знак., 24.08.2009 14:24)
- Разделите задачу на две части: передача по UARTу и форматирование данных. Такое разделение естественно и безопасно. "Форматтер" имеет на входе идентификатор переменной и тип операции. Его задачей является заполнение/считывание рабочего буфера UARTа. teap0t(165 знак., 24.08.2009 14:04)
- Причём тут протокол обмена. Понятно что протокол надо использовать и не важно будь это стандартный или свой. В любом случае нужно передавать адрес переменной, а адрес это обычное число 8 или 16 разрядное. И как мне соотнести просто число с допутим Lonsik(285 знак., 24.08.2009 12:40)
- Дык сделайте таблицу: 1 столбец - сетевой адрес переменной, 2 столбец - физический адрес переменной и вам с точки зрения сетевого обмена будет "по-барабану", где именно в адресном пространстве расположена переменная. - rezident(24.08.2009 14:45 - 15:39)
- Просто передавать читать параметры. Свой отладчик не делаю ) - Lonsik(24.08.2009 11:32)
- вы сначала ответьте на вопрос rezident-а: вы собственный отладчик делаете или просто надо передавать/читать параметры в рабочую программу, которая на их основе что-то полезное делает? - Snaky(24.08.2009 11:22)
- Так объясните, как организовать всё правильно? - Lonsik(24.08.2009 11:13)
- слишком тонкий был сарказм... не все поняли... :> - Snaky(24.08.2009 11:08)
- При чем тут архитектура? Это побочный эффект смеси энтузиазма и отсутствия образования. - Vladimir Ljaschko(24.08.2009 11:03)
- вот до чего доводит людей фон-Неймановская архитектура :> - Snaky(24.08.2009 10:26)
- Да нет. Допустим есть у меня несколько переменных, которые мне нужно считывать или записывать по UART. Если я знаю их адреса, то любую переменную могу передавать по адресу. Т.е. по UART посылаю запрос на чтение переменной, в котором указываю адрес и Lonsik(365 знак., 24.08.2009 10:05)